This code provides some utility routines for atmospheric tracers in the FMS framework.
fms_mod
time_manager_mod
diag_manager_mod
tracer_manager_mod
field_manager_mod
constants_mod
horiz_interp_mod
interpolator_mod
call atmos_tracer_utilities_init (lonb,latb, mass_axes, Time)
lonb | The longitudes for the local domain. [real, dimension(:)] |
latb | The latitudes for the local domain. [real, dimension(:)] |
mass_axes | The axes relating to the tracer array. [integer, dimension(3)] |
Time | Model time. [type(time_type)] |
call dry_deposition ( n, is, js, u, v, T, pwt, pfull, u_star, landmask, dsinku, tracer, Time, dry)
R = Ra + Rb resisa = aerodynamic resistance resisb = surface resistance (laminar layer + uptake) = 5/u* [s/cm] for neutral stability Vd = 1/RFor the fixed dry deposition velocity, there is no change in the deposition velocity but the variation of the depth of the surface layer implies that there is variation in the amount deposited.
"dry_deposition","wind_driven","surfr=XXX" where XXX is the total resistance defined above. "dry_deposition","fixed","land=XXX, sea=YYY" where XXX is the dry deposition velocity (m/s) over land and YYY is the dry deposition velocity (m/s) over sea.
n | The tracer number. [integer] |
is, js | Start indices for array (computational indices). [integer] |
u | U wind field. [real, dimension(:,:)] |
v | V wind field. [real, dimension(:,:)] |
T | Temperature. [real, dimension(:,:)] |
pwt | Pressure differential of half levels. [real, dimension(:,:)] |
pfull | Full pressure levels. [real, dimension(:,:)] |
u_star | Friction velocity. [real, dimension(:,:)] |
landmask | Land - sea mask. [logical] |
dry | ????. [interpolate_type] |
dsinku | The amount of tracer in the surface layer which is dry deposited per second. [real, dimension(:,:)] |
call wet_deposition (n, T, pfull, phalf, rain, snow, qdt, tracer, tracer_dt, Time, cloud_param, is, js)
"wet_deposition","henry","henry=XXX, dependence=YYY" where XXX is the Henry's constant for the tracer in question and YYY is the temperature dependence of the Henry's Law constant. "wet_deposition","fraction","lslwc=XXX, convlwc=YYY" where XXX is the liquid water content of a standard large scale cloud and YYY is the liquid water content of a standard convective cloud.
n | Tracer number [integer] |
is, js | start indices for array (computational indices) [integer] |
T | Temperature [real, dimension(:,:,:)] |
pfull | Full level pressure field [real, dimension(:,:,:)] |
phalf | Half level pressure field [real, dimension(:,:,:)] |
rain | Precipitation in the form of rain [real, dimension(:,:)] |
snow | Precipitation in the form of snow [real, dimension(:,:)] |
qdt | The tendency of the specific humidity due to the cloud parametrization [real, dimension(:,:,:)] |
tracer | The tracer field [real, dimension(:,:,:)] |
Time | The time structure for submitting wet deposition as a diagnostic [type(time_type)] |
cloud_param | Is this a convective (convect) or large scale (lscale) cloud parametrization? [character] |
tracer_dt | The tendency of the tracer field due to wet deposition. [real, dimension(:,:,:)] |
call interp_emiss (global_source, start_lon, start_lat, & lon_resol, lat_resol, data_out)
global_source | Global emission field. [real, dimension(:,:)] |
start_lon | Longitude of starting point of emission field
(in radians). This is the westernmost boundary of the
global field. [real] |
start_lat | Latitude of starting point of emission field
(in radians). This is the southern boundary of the
global field. [real] |
lon_resol | Longitudinal resolution of the emission data (in radians). [real] |
lat_resol | Latitudinal resolution of the emission data (in radians). [real] |
data_out | Interpolated emission field on the local PE. [real, dimension(:,:)] |