Ignore:
Timestamp:
Apr 14, 2010, 10:55:22 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/branches/LMDZ4V5.0-dev/libf/phylmd/phys_state_var_mod.F90

    r1322 r1350  
    1111      USE dimphy
    1212      INTEGER, PARAMETER :: nlevSTD=17
     13      INTEGER, PARAMETER :: nlevSTD8=8
     14      INTEGER, PARAMETER :: nlevSTD3=3
    1315      INTEGER, PARAMETER :: nout=3
    1416      INTEGER, PARAMETER :: napisccp=1
    1517      INTEGER, SAVE :: radpas
     18!$OMP THREADPRIVATE(radpas)
    1619      REAL, SAVE :: dtime, solaire_etat0
    17 !$OMP THREADPRIVATE(radpas)
    1820!$OMP THREADPRIVATE(dtime, solaire_etat0)
    1921
     
    118120      REAL,ALLOCATABLE,SAVE :: T2sumSTD(:,:,:)
    119121!$OMP THREADPRIVATE(T2sumSTD)
     122!IM begin
     123      REAL,ALLOCATABLE,SAVE :: wlevSTD(:,:), ulevSTD(:,:), vlevSTD(:,:)
     124      REAL,ALLOCATABLE,SAVE :: tlevSTD(:,:), qlevSTD(:,:), rhlevSTD(:,:)
     125      REAL,ALLOCATABLE,SAVE :: philevSTD(:,:)
     126      REAL,ALLOCATABLE,SAVE :: uvSTD(:,:)
     127      REAL,ALLOCATABLE,SAVE :: vqSTD(:,:)
     128      REAL,ALLOCATABLE,SAVE :: vTSTD(:,:)
     129      REAL,ALLOCATABLE,SAVE :: wqSTD(:,:)
     130      REAL,ALLOCATABLE,SAVE :: vphiSTD(:,:)
     131      REAL,ALLOCATABLE,SAVE :: wTSTD(:,:)
     132      REAL,ALLOCATABLE,SAVE :: u2STD(:,:)
     133      REAL,ALLOCATABLE,SAVE :: v2STD(:,:)
     134      REAL,ALLOCATABLE,SAVE :: T2STD(:,:)
     135!IM end
    120136      INTEGER,ALLOCATABLE,SAVE :: seed_old(:,:)
    121137!$OMP THREADPRIVATE(seed_old)
     
    357373      ALLOCATE(v2sumSTD(klon,nlevSTD,nout))
    358374      ALLOCATE(T2sumSTD(klon,nlevSTD,nout))
     375!IM beg
     376      ALLOCATE(wlevSTD(klon,nlevSTD), ulevSTD(klon,nlevSTD), vlevSTD(klon,nlevSTD))
     377      ALLOCATE(tlevSTD(klon,nlevSTD), qlevSTD(klon,nlevSTD), rhlevSTD(klon,nlevSTD))
     378      ALLOCATE(philevSTD(klon,nlevSTD))
     379      ALLOCATE(uvSTD(klon,nlevSTD),vqSTD(klon,nlevSTD))
     380      ALLOCATE(vTSTD(klon,nlevSTD),wqSTD(klon,nlevSTD))
     381      ALLOCATE(vphiSTD(klon,nlevSTD),wTSTD(klon,nlevSTD))
     382      ALLOCATE(u2STD(klon,nlevSTD),v2STD(klon,nlevSTD))
     383      ALLOCATE(T2STD(klon,nlevSTD))
     384!IM end
    359385      ALLOCATE(seed_old(klon,napisccp))
    360386      ALLOCATE(zuthe(klon),zvthe(klon))
     
    459485      deallocate(v2sumSTD)
    460486      deallocate(T2sumSTD)
     487!IM beg
     488      deallocate(wlevSTD,ulevSTD,vlevSTD,tlevSTD,qlevSTD,rhlevSTD,philevSTD)
     489      deallocate(uvSTD,vqSTD,vTSTD,wqSTD,vphiSTD,wTSTD,u2STD,v2STD,T2STD)
     490!IM end
    461491      deallocate(seed_old)
    462492      deallocate(zuthe, zvthe)
Note: See TracChangeset for help on using the changeset viewer.