Ignore:
Timestamp:
Apr 14, 2010, 11:41:19 AM (14 years ago)
Author:
musat
Message:

Add 3 output files for standard pressure levels AR5 exercice and flags
to manage their computation and output frequencies
histhfNMC.nc with 3 standard pressure levels
histdayNMC.nc with 8 (or may have 17) standard pressure levels
histmthNMC.nc with 17 standard pressure levels
Add 3 flags in the physiq.def file: freq_calNMC(3), freq_outNMC(3) and lev_histdayNMC
freq_calNMC(3) : computation frequency of variables on standard pressure levels

and by default has fallowing values (in fact physics' time step dtime)

freq_calNMC(1)=900.
freq_calNMC(2)=900.
freq_calNMC(3)=900.
freq_outNMC(3) : output frequency of variables on standard pressure levels

with following default values

freq_out(1) = 2592000. (30 days)
freq_out(2) = 86400. (1 day)
freq_out(3) = 21600. (6 hours)
lev_histdayNMC is 8 by default but may be switched to 17 (if we need more levels for a particular run)
IM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/phylmd/phys_state_var_mod.F90

    r1279 r1352  
    88      USE dimphy
    99      INTEGER, PARAMETER :: nlevSTD=17
     10      INTEGER, PARAMETER :: nlevSTD8=8
     11      INTEGER, PARAMETER :: nlevSTD3=3
    1012      INTEGER, PARAMETER :: nout=3
    1113      INTEGER, PARAMETER :: napisccp=1
    1214      INTEGER, SAVE :: radpas
     15!$OMP THREADPRIVATE(radpas)
    1316      REAL, SAVE :: dtime, solaire_etat0
    14 !$OMP THREADPRIVATE(radpas)
    1517!$OMP THREADPRIVATE(dtime, solaire_etat0)
    1618
     
    115117      REAL,ALLOCATABLE,SAVE :: T2sumSTD(:,:,:)
    116118!$OMP THREADPRIVATE(T2sumSTD)
     119!IM begin
     120      REAL,ALLOCATABLE,SAVE :: wlevSTD(:,:), ulevSTD(:,:), vlevSTD(:,:)
     121      REAL,ALLOCATABLE,SAVE :: tlevSTD(:,:), qlevSTD(:,:), rhlevSTD(:,:)
     122      REAL,ALLOCATABLE,SAVE :: philevSTD(:,:)
     123      REAL,ALLOCATABLE,SAVE :: uvSTD(:,:)
     124      REAL,ALLOCATABLE,SAVE :: vqSTD(:,:)
     125      REAL,ALLOCATABLE,SAVE :: vTSTD(:,:)
     126      REAL,ALLOCATABLE,SAVE :: wqSTD(:,:)
     127      REAL,ALLOCATABLE,SAVE :: vphiSTD(:,:)
     128      REAL,ALLOCATABLE,SAVE :: wTSTD(:,:)
     129      REAL,ALLOCATABLE,SAVE :: u2STD(:,:)
     130      REAL,ALLOCATABLE,SAVE :: v2STD(:,:)
     131      REAL,ALLOCATABLE,SAVE :: T2STD(:,:)
     132!IM end
    117133      INTEGER,ALLOCATABLE,SAVE :: seed_old(:,:)
    118134!$OMP THREADPRIVATE(seed_old)
     
    351367      ALLOCATE(v2sumSTD(klon,nlevSTD,nout))
    352368      ALLOCATE(T2sumSTD(klon,nlevSTD,nout))
     369!IM beg
     370      ALLOCATE(wlevSTD(klon,nlevSTD), ulevSTD(klon,nlevSTD), vlevSTD(klon,nlevSTD))
     371      ALLOCATE(tlevSTD(klon,nlevSTD), qlevSTD(klon,nlevSTD), rhlevSTD(klon,nlevSTD))
     372      ALLOCATE(philevSTD(klon,nlevSTD))
     373      ALLOCATE(uvSTD(klon,nlevSTD),vqSTD(klon,nlevSTD))
     374      ALLOCATE(vTSTD(klon,nlevSTD),wqSTD(klon,nlevSTD))
     375      ALLOCATE(vphiSTD(klon,nlevSTD),wTSTD(klon,nlevSTD))
     376      ALLOCATE(u2STD(klon,nlevSTD),v2STD(klon,nlevSTD))
     377      ALLOCATE(T2STD(klon,nlevSTD))
     378!IM end
    353379      ALLOCATE(seed_old(klon,napisccp))
    354380      ALLOCATE(zuthe(klon),zvthe(klon))
     
    452478      deallocate(v2sumSTD)
    453479      deallocate(T2sumSTD)
     480!IM beg
     481      deallocate(wlevSTD,ulevSTD,vlevSTD,tlevSTD,qlevSTD,rhlevSTD,philevSTD)
     482      deallocate(uvSTD,vqSTD,vTSTD,wqSTD,vphiSTD,wTSTD,u2STD,v2STD,T2STD)
     483!IM end
    454484      deallocate(seed_old)
    455485      deallocate(zuthe, zvthe)
Note: See TracChangeset for help on using the changeset viewer.