source: LMDZ6/branches/LMDZ-tracers/libf/dyn3dmem/massbarxy_loc.F90 @ 4350

Last change on this file since 4350 was 3852, checked in by dcugnet, 4 years ago

Extension of the tracers management.

The tracers files can be:

1) "traceur.def": old format, with:

  • the number of tracers on the first line
  • one line for each tracer: <tracer name> <hadv> <vadv> [<parent name>]

2) "tracer.def": new format with one section each model component.
3) "tracer_<name>.def": new format with a single section.

The formats 2 and 3 reading is driven by the "type_trac" key, which can be a

coma-separated list of components.

  • Format 2: read the sections from the "tracer.def" file.
  • format 3: read one section each "tracer_<section name>.def" file.
  • the first line of a section is "&<section name>
  • the other lines start with a tracer name followed by <key>=<val> pairs.
  • the "default" tracer name is reserved ; the other tracers of the section inherit its <key>=<val>, except for the keys that are redefined locally.

This format helps keeping the tracers files compact, thanks to the "default"
special tracer and the three levels of factorization:

  • on the tracers names: a tracer name can be a coma-separated list of tracers => all the tracers of the list have the same <key>=<val> properties
  • on the parents names: the value of the "parent" property can be a coma-separated list of tracers => only possible for geographic tagging tracers
  • on the phases: the property "phases" is [g](l][s] (gas/liquid/solid)

Read information is stored in the vector "tracers(:)", of derived type "tra".

"isotopes_params.def" is a similar file, with one section each isotopes family.
It contains a database of isotopes properties ; if there are second generation
tracers (isotopes), the corresponding sections are read.

Read information is stored in the vector "isotopes(:)", of derived type "iso".

The "getKey" function helps to get the values of the parameters stored in
"tracers" or "isotopes".

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
File size: 1.4 KB
Line 
1SUBROUTINE massbarxy_loc(masse,massebxy)
2!
3!-------------------------------------------------------------------------------
4! Authors: P. Le Van , Fr. Hourdin.
5!-------------------------------------------------------------------------------
6! Purpose: Compute air mass mean along X and Y in each cell.
7! See iniconst for more details.
8  USE parallel_lmdz
9  IMPLICIT NONE
10  include "dimensions.h"
11  include "paramet.h"
12  include "comgeom.h"
13!===============================================================================
14! Arguments:
15  REAL, INTENT(IN)  :: masse   (ijb_u:ije_u,llm)
16  REAL, INTENT(OUT) :: massebxy(ijb_v:ije_v,llm)
17!===============================================================================
18! Local variables:
19  INTEGER :: ij, l, ijb, ije
20!===============================================================================
21  ijb=ij_begin-iip1
22  ije=ij_end
23  IF(pole_nord) ijb=ijb+iip1
24  IF(pole_sud)  ije=ije-iip1
25!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)   
26  DO l=1,llm
27    DO ij=ijb,ije-1
28      massebxy(ij,l)=masse(ij     ,l)*alpha2(ij     ) + &
29                     masse(ij+1   ,l)*alpha3(ij+1   ) + &
30                     masse(ij+iip1,l)*alpha1(ij+iip1) + &
31                     masse(ij+iip2,l)*alpha4(ij+iip2)
32    END DO
33    DO ij=ijb+iip1-1,ije+iip1-1,iip1; massebxy(ij,l)=massebxy(ij-iim,l); END DO
34  END DO
35!$OMP END DO NOWAIT
36
37END SUBROUTINE massbarxy_loc
38
Note: See TracBrowser for help on using the repository browser.