Ignore:
Timestamp:
May 6, 2010, 2:19:18 PM (14 years ago)
Author:
lguez
Message:

Added optional ozone tracer with chemistry parameterized by Daniel
Cariolle. This tracer is passive: it has no influence on the rest of
the simulation.

Added variable "zmasse" in file "histrac.nc". Corrected long name of
variable "pplay" in "histrac.nc". Changed name of variable "t" to "T"
in "histrac.nc", corrected long name and unit.

In "phytrac", moved definition of "zmasse" toward the beginning of the
procedure, so that "zmasse" can be given as argument to
"traclmdz". Also added arguments "julien", "gmtime" and "xlon" to
"traclmdz". The four additional arguments are required for the ozone
tracer.

In module "traclmdz_mod", factorized declaration "implicit none" that
was in each procedure. There is now an equivalent single declaration
at the module level.

In procedure "traclmdz", removed variable "delp". Use "zmasse * rg"
instead since we now have "zmasse" as an argument.

Tests. Compilations on Brodie only, with optimization options "-debug"
and "-dev", parallelization options "none", "mpi", "omp" and
"mpi_omp", this revision and revision 1373. Run cases with and without
ozone tracer, 1 and 2 MPI processes, 1 and 2 OpenMP
threads. Comparisons of all cases are ok, except for strange
variations in variables "d_tr_cl_RN" and "d_tr_cl_PB" of file
"histrac.nc", variables "RN" and "PB" of "restart.nc", variables
"trs_RN" and "trs_PB" of "restartphy.nc". Relative variations of these
variables between cases are of order 1e-7 or less, after one day of
simulation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4V5.0-dev/libf/dyn3dpar/etat0_netcdf.F

    r1370 r1379  
    1717      use regr_lat_time_climoz_m, only: regr_lat_time_climoz
    1818      use conf_phys_m, only: conf_phys
     19!     For parameterization of ozone chemistry:
     20      use regr_lat_time_coefoz_m, only: regr_lat_time_coefoz
     21      use press_coefoz_m, only: press_coefoz
     22      use regr_pr_o3_m, only: regr_pr_o3
    1923#endif
    2024!#endif of #ifdef CPP_EARTH
     
    145149      real :: seuil_inversion
    146150      real :: alp_offset
     151      logical found
    147152
    148153      integer  read_climoz ! read ozone climatology
     
    426431      q3d(:,:,:,1) = qd(:,:,:)
    427432      !
     433!     Parameterization of ozone chemistry:
     434C     Look for ozone tracer:
     435      i = 1
     436      DO
     437         found = tname(i)=="O3" .OR. tname(i)=="o3"
     438         if (found .or. i == nqtot) exit
     439         i = i + 1
     440      end do
     441      if (found) then
     442         call regr_lat_time_coefoz
     443         call press_coefoz
     444         call regr_pr_o3(p3d, q3d(:, :, :, i))
     445C     Convert from mole fraction to mass fraction:
     446         q3d(:, :, :, i) = q3d(:, :, :, i)  * 48. / 29.
     447      end if
    428448
    429449!     Ozone climatology:
Note: See TracChangeset for help on using the changeset viewer.