15 &n_aerosols_gocart_merra_2=15,n_aerosols_other=1
18 character(len=MAXVARLEN),
public,
parameter ::
var_tv =
"virtual_temperature"
19 character(len=MAXVARLEN),
public,
parameter ::
var_ts =
"air_temperature"
20 character(len=MAXVARLEN),
public,
parameter ::
var_t =
"temperature"
21 character(len=MAXVARLEN),
public,
parameter ::
var_mixr =
"humidity_mixing_ratio"
22 character(len=MAXVARLEN),
public,
parameter ::
var_q =
"specific_humidity"
23 character(len=MAXVARLEN),
public,
parameter ::
var_u =
"eastward_wind"
24 character(len=MAXVARLEN),
public,
parameter ::
var_v =
"northward_wind"
25 character(len=MAXVARLEN),
public,
parameter ::
var_prs =
"air_pressure"
26 character(len=MAXVARLEN),
public,
parameter ::
var_prsi =
"air_pressure_levels"
27 character(len=MAXVARLEN),
public,
parameter ::
var_delp =
"air_pressure_thickness"
28 character(len=MAXVARLEN),
public,
parameter ::
var_ps =
"surface_pressure"
29 character(len=MAXVARLEN),
public,
parameter ::
var_z =
"geopotential_height"
30 character(len=MAXVARLEN),
public,
parameter ::
var_zm =
"geometric_height"
31 character(len=MAXVARLEN),
public,
parameter ::
var_zi =
"geopotential_height_levels"
32 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_z=
"surface_geopotential_height"
33 character(len=MAXVARLEN),
public,
parameter ::
var_oz =
"mole_fraction_of_ozone_in_air"
34 character(len=MAXVARLEN),
public,
parameter ::
var_co2 =
"mole_fraction_of_carbon_dioxide_in_air"
35 character(len=MAXVARLEN),
public,
parameter ::
var_clw =
"mass_content_of_cloud_liquid_water_in_atmosphere_layer"
36 character(len=MAXVARLEN),
public,
parameter ::
var_cli =
"mass_content_of_cloud_ice_in_atmosphere_layer"
37 character(len=MAXVARLEN),
public,
parameter ::
var_clr =
"mass_content_of_rain_in_atmosphere_layer"
38 character(len=MAXVARLEN),
public,
parameter ::
var_cls =
"mass_content_of_snow_in_atmosphere_layer"
39 character(len=MAXVARLEN),
public,
parameter ::
var_clg =
"mass_content_of_graupel_in_atmosphere_layer"
40 character(len=MAXVARLEN),
public,
parameter ::
var_clh =
"mass_content_of_hail_in_atmosphere_layer"
41 character(len=MAXVARLEN),
public,
parameter ::
var_clwefr =
"effective_radius_of_cloud_liquid_water_particle"
42 character(len=MAXVARLEN),
public,
parameter ::
var_cliefr =
"effective_radius_of_cloud_ice_particle"
43 character(len=MAXVARLEN),
public,
parameter ::
var_clrefr =
"effective_radius_of_rain_particle"
44 character(len=MAXVARLEN),
public,
parameter ::
var_clsefr =
"effective_radius_of_snow_particle"
45 character(len=MAXVARLEN),
public,
parameter ::
var_clgefr =
"effective_radius_of_graupel_particle"
46 character(len=MAXVARLEN),
public,
parameter ::
var_clhefr =
"effective_radius_of_hail_particle"
47 character(len=MAXVARLEN),
public,
parameter ::
var_cldfrac=
"cloud_area_fraction_in_atmosphere_layer"
48 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_p2m =
"air_pressure_at_two_meters_above_surface"
49 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_q2m =
"specific_humidity_at_two_meters_above_surface"
50 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_t2m =
"surface_temperature"
51 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_tskin =
"skin_temperature"
52 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_wfrac =
"water_area_fraction"
53 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_lfrac =
"land_area_fraction"
54 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_ifrac =
"ice_area_fraction"
55 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_sfrac =
"surface_snow_area_fraction"
56 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_wtmp =
"surface_temperature_where_sea"
57 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_ltmp =
"surface_temperature_where_land"
58 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_itmp =
"surface_temperature_where_ice"
59 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_stmp =
"surface_temperature_where_snow"
60 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_sdepth =
"surface_snow_thickness"
61 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_vegfrac =
"vegetation_area_fraction"
62 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_wspeed =
"surface_wind_speed"
63 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_wdir =
"surface_wind_from_direction"
64 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_u10 =
"uwind_at_10m"
65 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_v10 =
"vwind_at_10m"
66 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_u =
"surface_eastward_wind"
67 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_v =
"surface_northward_wind"
68 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_lai =
"leaf_area_index"
69 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_soilm =
"volume_fraction_of_condensed_water_in_soil"
70 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_soilt =
"soil_temperature"
71 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_landtyp =
"land_type_index"
72 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_vegtyp =
"vegetation_type_index"
74 character(len=MAXVARLEN),
public,
parameter ::
var_geomz =
"height"
75 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_geomz =
"surface_altitude"
76 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_rough =
"surface_roughness_length"
77 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_t =
"surface_temperature"
78 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_fact10 =
"wind_reduction_factor_at_10m"
79 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_emiss =
"surface_emissivity"
80 character(len=MAXVARLEN),
public,
parameter ::
var_sfc_sss =
"sea_surface_salinity"
81 character(len=MAXVARLEN),
public,
parameter ::
var_opt_depth =
"optical_thickness_of_atmosphere_layer"
82 character(len=MAXVARLEN),
public,
parameter ::
var_radiance =
"toa_outgoing_radiance_per_unit_wavenumber"
83 character(len=MAXVARLEN),
public,
parameter ::
var_tb =
"brightness_temperature"
84 character(len=MAXVARLEN),
public,
parameter ::
var_tb_clr =
"brightness_temperature_assuming_clear_sky"
86 character(len=MAXVARLEN),
public,
parameter ::
var_lvl_transmit=
"transmittances_of_atmosphere_layer"
87 character(len=MAXVARLEN),
public,
parameter ::
var_lvl_weightfunc=
"weightingfunction_of_atmosphere_layer"
89 character(len=MAXVARLEN),
public,
parameter ::
var_tsavg5 =
"average_surface_temperature_within_field_of_view"
90 character(len=MAXVARLEN),
public,
parameter ::
var_sea_fric_vel =
"friction_velocity_over_water"
91 character(len=MAXVARLEN),
public,
parameter ::
var_obk_length =
"obukhov_length"
94 character(len=MAXVARLEN),
public,
parameter ::
var_refl =
"equivalent_reflectivity_factor"
95 character(len=MAXVARLEN),
public,
parameter ::
var_w =
"upward_air_velocity"
97 character(len=MAXVARLEN),
public,
parameter ::
var_rh =
"relative_humidity"
103 character(len=MAXVARLEN),
public ::
var_seaicefrac =
"sea_ice_category_area_fraction"
106 character(len=MAXVARLEN),
public ::
var_ocn_chl =
"mass_concentration_of_chlorophyll_in_sea_water"
107 character(len=MAXVARLEN),
public ::
var_abs_topo =
"sea_surface_height_above_geoid"
109 character(len=MAXVARLEN),
public ::
var_ocn_con_temp =
"sea_water_conservative_temperature"
112 character(len=MAXVARLEN),
public ::
var_ocn_salt =
"sea_water_salinity"
114 character(len=MAXVARLEN),
public ::
var_ocn_sst =
"sea_surface_temperature"
115 character(len=MAXVARLEN),
public ::
var_sea_td =
"sea_surface_foundation_temperature"
117 character(len=MAXVARLEN),
public ::
var_sw_rad =
"net_downwelling_shortwave_radiation"
118 character(len=MAXVARLEN),
public ::
var_latent_heat =
"upward_latent_heat_flux_in_air"
119 character(len=MAXVARLEN),
public ::
var_sens_heat =
"upward_sensible_heat_flux_in_air"
120 character(len=MAXVARLEN),
public ::
var_lw_rad =
"net_downwelling_longwave_radiation"
122 character(len=MAXVARLEN),
public,
parameter ::
var_du001 =
"mass_fraction_of_dust001_in_air"
123 character(len=MAXVARLEN),
public,
parameter ::
var_du002 =
"mass_fraction_of_dust002_in_air"
124 character(len=MAXVARLEN),
public,
parameter ::
var_du003 =
"mass_fraction_of_dust003_in_air"
125 character(len=MAXVARLEN),
public,
parameter ::
var_du004 =
"mass_fraction_of_dust004_in_air"
126 character(len=MAXVARLEN),
public,
parameter ::
var_du005 =
"mass_fraction_of_dust005_in_air"
127 character(len=MAXVARLEN),
public,
parameter ::
var_ss001 =
"mass_fraction_of_sea_salt001_in_air"
128 character(len=MAXVARLEN),
public,
parameter ::
var_ss002 =
"mass_fraction_of_sea_salt002_in_air"
129 character(len=MAXVARLEN),
public,
parameter ::
var_ss003 =
"mass_fraction_of_sea_salt003_in_air"
130 character(len=MAXVARLEN),
public,
parameter ::
var_ss004 =
"mass_fraction_of_sea_salt004_in_air"
131 character(len=MAXVARLEN),
public,
parameter ::
var_ss005 =
"mass_fraction_of_sea_salt005_in_air"
132 character(len=MAXVARLEN),
public,
parameter ::
var_bcphobic =
"mass_fraction_of_hydrophobic_black_carbon_in_air"
133 character(len=MAXVARLEN),
public,
parameter ::
var_bcphilic =
"mass_fraction_of_hydrophilic_black_carbon_in_air"
134 character(len=MAXVARLEN),
public,
parameter ::
var_ocphobic =
"mass_fraction_of_hydrophobic_organic_carbon_in_air"
135 character(len=MAXVARLEN),
public,
parameter ::
var_ocphilic =
"mass_fraction_of_hydrophilic_organic_carbon_in_air"
136 character(len=MAXVARLEN),
public,
parameter ::
var_sulfate =
"mass_fraction_of_sulfate_in_air"
137 character(len=MAXVARLEN),
public,
parameter ::
var_no3an1 =
"mass_fraction_of_nitrate001_in_air"
138 character(len=MAXVARLEN),
public,
parameter ::
var_no3an2 =
"mass_fraction_of_nitrate002_in_air"
139 character(len=MAXVARLEN),
public,
parameter ::
var_no3an3 =
"mass_fraction_of_nitrate003_in_air"
140 character(len=MAXVARLEN),
public,
parameter ::
var_ext1 =
"volume_extinction_in_air_due_to_aerosol_particles_lambda1"
141 character(len=MAXVARLEN),
public,
parameter ::
var_ext2 =
"volume_extinction_in_air_due_to_aerosol_particles_lambda2"
142 character(len=MAXVARLEN),
public,
parameter ::
var_ext3 =
"volume_extinction_in_air_due_to_aerosol_particles_lambda3"
143 character(len=MAXVARLEN),
public,
parameter ::
var_airdens =
"moist_air_density"
145 character(len=MAXVARLEN),
dimension(n_aerosols_gocart_default),
public,
parameter :: &
146 &var_aerosols_gocart_default = [&
148 &var_bcphobic, var_bcphilic, var_ocphobic, var_ocphilic,&
149 &var_du001, var_du002, var_du003, var_du004, var_du005,&
150 &var_ss001, var_ss002, var_ss003, var_ss004]
152 character(len=maxvarlen),
dimension(n_aerosols_gocart_merra_2),
public,
parameter :: &
153 &var_aerosols_gocart_merra_2 = [&
155 &var_bcphobic, var_bcphilic, var_ocphobic, var_ocphilic,&
156 &var_du001, var_du002, var_du003, var_du004, var_du005,&
157 &var_ss001, var_ss002, var_ss003, var_ss004, var_ss005]
159 character(len=MAXVARLEN),
dimension(n_aerosols_other),
public,
parameter :: &
160 &var_aerosols_other = [&
167 use fckit_configuration_module,
only: fckit_configuration
169 type(fckit_configuration),
intent(in) :: f_vars
170 character(len=MAXVARLEN),
dimension(:),
allocatable,
intent(inout) :: vars
173 character(len=:),
allocatable :: str
175 if (f_vars%has(
"nvars"))
then
176 call f_vars%get_or_die(
"nvars",nvars)
177 if (
allocated(vars))
deallocate(vars)
178 allocate(vars(nvars))
179 call f_vars%get_or_die(
"variables",str)
192 character(len=*),
intent(in) :: vars(:)
193 character(len=*),
intent(in) :: varname
199 do ivar = 1,
size(vars)
Fortran module with various useful routines.
logical function, public cmp_strings(str1, str2)
character(len=maxvarlen), parameter, public var_sfc_rough
character(len=maxvarlen), parameter, public var_radiance
character(len=maxvarlen), parameter, public var_co2
character(len=maxvarlen), public var_seaicesnowthick
character(len=maxvarlen), parameter, public var_prsi
character(len=maxvarlen), public var_sens_heat
character(len=maxvarlen), parameter, public var_sfc_emiss
character(len=maxvarlen), parameter, public var_clrefr
character(len=maxvarlen), parameter, public var_water_type_rttov
character(len=maxvarlen), parameter, public var_clsefr
character(len=maxvarlen), parameter, public var_no3an3
character(len=maxvarlen), parameter, public var_sfc_ifrac
character(len=maxvarlen), parameter, public var_surf_type_rttov
integer function, public ufo_vars_getindex(vars, varname)
character(len=maxvarlen), parameter, public var_cldfrac
subroutine, public ufo_vars_read(f_vars, vars)
character(len=maxvarlen), parameter, public var_oz
character(len=maxvarlen), parameter, public var_clgefr
character(len=maxvarlen), parameter, public var_clw
character(len=maxvarlen), parameter, public var_sfc_lfrac
character(len=maxvarlen), parameter, public var_sfc_v10
character(len=maxvarlen), parameter, public var_sfc_seaicefrac
character(len=maxvarlen), parameter, public var_cls
character(len=maxvarlen), public var_seaicethick
character(len=maxvarlen), parameter, public var_geomz
character(len=maxvarlen), public var_ocn_abs_salt
character(len=maxvarlen), parameter, public var_sfc_wtmp
character(len=maxvarlen), parameter, public var_prs
character(len=maxvarlen), parameter, public var_rh
character(len=maxvarlen), parameter, public var_du004
character(len=maxvarlen), parameter, public var_obk_length
character(len=maxvarlen), parameter, public var_ext2
character(len=maxvarlen), parameter, public var_q
character(len=maxvarlen), parameter, public var_sfc_u10
character(len=maxvarlen), parameter, public var_ss005
character(len=maxvarlen), parameter, public var_sfc_wfrac
character(len=maxvarlen), parameter, public var_tb_clr
character(len=maxvarlen), parameter, public var_sfc_sfrac
character(len=maxvarlen), parameter, public var_t
character(len=maxvarlen), parameter, public var_sfc_itmp
character(len=maxvarlen), parameter, public var_zm
character(len=maxvarlen), parameter, public var_sfc_wdir
character(len=maxvarlen), parameter, public var_bcphilic
character(len=maxvarlen), public var_ocn_con_temp
character(len=maxvarlen), parameter, public var_sfc_soilm
integer, parameter, public n_aerosols_gocart_default
character(len=maxvarlen), public var_seaicefrac
character(len=maxvarlen), parameter, public var_sfc_landmask
character(len=maxvarlen), parameter, public var_clhefr
character(len=maxvarlen), parameter, public var_du005
integer, parameter, public maxvarlen
character(len=maxvarlen), parameter, public var_ocphobic
character(len=maxvarlen), parameter, public var_sfc_u
character(len=maxvarlen), parameter, public var_sfc_sdepth
character(len=maxvarlen), parameter, public var_du003
character(len=maxvarlen), parameter, public var_sfc_landtyp
character(len=maxvarlen), public var_ocn_pot_temp
character(len=maxvarlen), parameter, public var_sfc_q2m
character(len=maxvarlen), parameter, public var_v
character(len=maxvarlen), parameter, public var_mixr
character(len=maxvarlen), public var_latent_vap
character(len=maxvarlen), parameter, public var_clh
character(len=maxvarlen), parameter, public var_zi
character(len=maxvarlen), parameter, public var_du002
character(len=maxvarlen), public var_latent_heat
character(len=maxvarlen), public var_ocn_salt
character(len=maxvarlen), parameter, public var_sfc_tskin
character(len=maxvarlen), parameter, public var_sfc_p2m
character(len=maxvarlen), parameter, public var_lvl_transmit
character(len=maxvarlen), parameter, public var_sfc_geomz
character(len=maxvarlen), parameter, public var_tb
character(len=maxvarlen), parameter, public var_sulfate
character(len=maxvarlen), parameter, public var_bcphobic
character(len=maxvarlen), parameter, public var_sfc_stmp
character(len=maxvarlen), parameter, public var_lvl_weightfunc
character(len=maxvarlen), parameter, public var_cliefr
character(len=maxvarlen), parameter, public var_sfc_sss
character(len=maxvarlen), parameter, public var_airdens
character(len=maxvarlen), parameter, public var_z
character(len=maxvarlen), parameter, public var_ts
character(len=maxvarlen), parameter, public var_sfc_lai
character(len=maxvarlen), parameter, public var_ocphilic
character(len=maxvarlen), parameter, public var_clwefr
character(len=maxvarlen), parameter, public var_pmaxlev_weightfunc
character(len=maxvarlen), parameter, public var_u
character(len=maxvarlen), parameter, public var_no3an1
character(len=maxvarlen), parameter, public var_du001
character(len=maxvarlen), parameter, public var_sfc_v
character(len=maxvarlen), parameter, public var_sfc_vegtyp
character(len=maxvarlen), parameter, public var_sfc_soiltyp
character(len=maxvarlen), parameter, public var_tsavg5
character(len=maxvarlen), parameter, public var_ps
character(len=maxvarlen), parameter, public var_ext3
character(len=maxvarlen), parameter, public var_cli
character(len=maxvarlen), parameter, public var_tv
character(len=maxvarlen), public var_lw_rad
character(len=maxvarlen), parameter, public var_ss002
character(len=maxvarlen), public var_sea_td
character(len=maxvarlen), parameter, public var_w
character(len=maxvarlen), public var_ocn_chl
character(len=maxvarlen), public var_sw_rad
character(len=maxvarlen), parameter, public var_sfc_vegfrac
character(len=maxvarlen), parameter, public var_no3an2
character(len=maxvarlen), parameter, public var_clr
character(len=maxvarlen), parameter, public var_delp
character(len=maxvarlen), parameter, public var_refl
character(len=maxvarlen), parameter, public var_sfc_z
character(len=maxvarlen), parameter, public var_sfc_ltmp
character(len=maxvarlen), parameter, public var_sfc_t
character(len=maxvarlen), parameter, public var_sfc_fact10
character(len=maxvarlen), parameter, public var_opt_depth
character(len=maxvarlen), public var_ocn_sst
character(len=maxvarlen), public var_ocn_lay_thick
character(len=maxvarlen), public var_abs_topo
character(len=maxvarlen), parameter, public var_ss004
character(len=maxvarlen), parameter, public var_sfc_soilt
character(len=maxvarlen), parameter, public var_sfc_wspeed
character(len=maxvarlen), parameter, public var_total_transmit
character(len=maxvarlen), parameter, public var_ss003
character(len=maxvarlen), parameter, public var_ext1
character(len=maxvarlen), public var_ocn_pra_salt
character(len=maxvarlen), parameter, public var_sfc_t2m
character(len=maxvarlen), parameter, public var_ss001
character(len=maxvarlen), parameter, public var_sea_fric_vel
character(len=maxvarlen), parameter, public var_clg