[4] | 1 | ! tracer parameters and arrays |
---|
| 2 | ! try to minimize use of allocatable arrays |
---|
| 3 | |
---|
| 4 | module tracer_vars |
---|
| 5 | |
---|
| 6 | use module3d_phy |
---|
| 7 | |
---|
| 8 | implicit none |
---|
| 9 | save |
---|
| 10 | |
---|
| 11 | integer, dimension(nx*ny) :: ix, jx |
---|
| 12 | |
---|
| 13 | !! The integer array indx_tr(i,j) yields an index value which is the |
---|
| 14 | !! ij subscript of the tracer archive array archive_tr(:,:,:) |
---|
| 15 | |
---|
| 16 | integer :: nij ! number of (i,j)->ij mappings |
---|
| 17 | |
---|
| 18 | integer, parameter :: unit_tr_dat=572 |
---|
| 19 | integer, parameter :: unit_tr_out=573 |
---|
| 20 | integer, parameter :: unit_tr_dep=574 |
---|
| 21 | |
---|
| 22 | integer, parameter :: maxspectimes=31 |
---|
| 23 | |
---|
| 24 | integer :: delttrout |
---|
| 25 | integer :: nspectimes |
---|
| 26 | real :: time_max_accu |
---|
[77] | 27 | |
---|
| 28 | ! afq marion dufresne: tracer with no climat perturb |
---|
| 29 | ! i.e. we read the Forcage Tpert to compute past accumulation via |
---|
| 30 | ! rappact |
---|
| 31 | ! OR we read directly past accum (choice in namelist) |
---|
| 32 | ! if past accum is given it will still be read with the name Tpert |
---|
| 33 | ! the past accum given should be the ratio acc_palaeo / acc_present |
---|
| 34 | integer :: nft_tra ! number of snapshot Tpert |
---|
| 35 | integer :: type_accum ! Tpert is given (=0) or accpert (1) |
---|
| 36 | real :: rappact_tra ! accumulation ratio to convert Tpert |
---|
| 37 | real :: coeft_tra ! coeft to convert Tpert |
---|
| 38 | real,dimension(:),allocatable :: tpert_tra ! temperature perturbation |
---|
| 39 | real,dimension(:),allocatable :: tdate_tra ! time for Tpert |
---|
| 40 | |
---|
[4] | 41 | |
---|
| 42 | integer, dimension(maxspectimes) :: trout |
---|
| 43 | real, dimension(nx) :: xgrid |
---|
| 44 | real, dimension(ny) :: ygrid |
---|
| 45 | |
---|
| 46 | real , dimension(nx*ny) :: TS_save |
---|
| 47 | real , dimension(nx*ny) :: hi_save |
---|
| 48 | real , dimension(nx*ny) :: bi_save |
---|
| 49 | |
---|
| 50 | !! Traced scalars (xd, yd, td) for sheet |
---|
| 51 | !! (deposition point and deposition time) for present and previous times |
---|
| 52 | |
---|
| 53 | ! dep, tableau (grille 'o') "origine de la glace" au temp time |
---|
| 54 | real , dimension(nz,nx-2,ny-2) :: xdep |
---|
| 55 | real , dimension(nz,nx-2,ny-2) :: ydep |
---|
| 56 | real , dimension(nz,nx-2,ny-2) :: tdep |
---|
| 57 | |
---|
| 58 | ! dep, tableau (grille 'o') "origine de la glace" a l'initialisation (a confirmer) |
---|
| 59 | real , dimension(nz,nx-2,ny-2) :: xdepk ! |
---|
| 60 | real , dimension(nz,nx-2,ny-2) :: ydepk ! |
---|
| 61 | real , dimension(nz,nx-2,ny-2) :: tdepk ! |
---|
| 62 | |
---|
| 63 | ! dep, tableau (grille 'o') "origine de la glace" au temp time, dimension pour outputs |
---|
| 64 | real , dimension(nx,ny,nz) :: xdep_out |
---|
| 65 | real , dimension(nx,ny,nz) :: ydep_out |
---|
| 66 | real , dimension(nx,ny,nz) :: tdep_out |
---|
| 67 | |
---|
| 68 | real , dimension(nz) :: lnzeta |
---|
| 69 | |
---|
| 70 | character (LEN=60) :: file_tr_dat, file_tr_out, file_tr_dep |
---|
| 71 | |
---|
| 72 | real , dimension(nx,ny,nz) :: uxsave |
---|
| 73 | real , dimension(nx,ny,nz) :: uysave |
---|
| 74 | real , dimension(nx,ny,nz) :: uzrsave |
---|
| 75 | |
---|
| 76 | real , allocatable, dimension(:) :: accucumul |
---|
| 77 | |
---|
| 78 | real, dimension(nx-2,ny-2) :: freezeon |
---|
| 79 | |
---|
| 80 | |
---|
| 81 | end module tracer_vars |
---|
| 82 | |
---|