Changeset 2474


Ignore:
Timestamp:
Mar 22, 2016, 12:13:26 PM (8 years ago)
Author:
idelkadi
Message:

Utilisation de getin_p au lieu de getin pour la lecture des parametres de la convections.

Location:
LMDZ5/trunk/libf/phylmd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/trunk/libf/phylmd/cv3_routines.F90

    r2473 r2474  
    77SUBROUTINE cv3_param(nd, k_upper, delt)
    88
    9   USE IOIPSL, ONLY : getin
     9  USE ioipsl_getin_p_mod, ONLY : getin_p
    1010  use mod_phys_lmdz_para
    1111  IMPLICIT NONE
     
    4040  INTEGER, INTENT(IN)              :: k_upper
    4141  REAL, INTENT(IN)                 :: delt ! timestep (seconds)
    42 
    43 ! Var interm pour le getin
    44   REAL, SAVE :: dpbase_omp=-40.
    45   REAL, SAVE :: pbcrit_omp=150.0           
    46   REAL, SAVE :: ptcrit_omp=500.0
    47   REAL, SAVE :: sigdz_omp=0.01
    48   REAL, SAVE :: spfac_omp=0.15
    49   REAL, SAVE :: tau_omp=8000.
    50   INTEGER, SAVE :: flag_wb_omp=1
    51   REAL, SAVE :: wbmax_omp=6.
    52   LOGICAL, SAVE :: ok_convstop_omp=.False.
    53   REAL, SAVE :: tau_stop_omp=15000.
    54   LOGICAL, SAVE :: ok_intermittent_omp=.False.
    55   REAL, SAVE :: coef_peel_omp=0.25
    56   INTEGER, SAVE :: flag_epKEorig_omp=1   
    57   REAL, SAVE :: elcrit_omp=0.0003
    58   REAL, SAVE :: tlcrit_omp=-55.0
    59 
    60 !THREADPRIVATE(dpbase_omp,pbcrit_omp,ptcrit_omp,sigdz_omp,spfac_omp,tau_omp,flag_wb_omp)
    61 !THREADPRIVATE(wbmax_omp,ok_convstop_omp,tau_stop_omp,ok_intermittent_omp,coef_peel_omp)
    62 !THREADPRIVATE(flag_epKEorig_omp,elcrit_omp,tlcrit_omp)
    63 
    6442
    6543! Local variables
     
    9371
    9472    omtrain = 45.0 ! used also for snow (no disctinction rain/snow)
    95 
    9673! -- misc:
    9774    dtovsh = -0.2 ! dT for overshoot
     
    9976    dttrig = 10. ! (loose) condition for triggering
    10077    dtcrit = -2.0
    101 
    10278! -- end of convection
    103 
    10479! -- interface cloud parameterization:
    105 
    10680    delta = 0.01 ! cld
    107 
    10881! -- interface with boundary-layer (gust factor): (sb)
    109 
    11082    betad = 10.0 ! original value (from convect 4.3)
    11183
    112    !$OMP MASTER
    113     CALL getin('dpbase',dpbase_omp)
    114      CALL getin('pbcrit',pbcrit_omp)
    115      CALL getin('ptcrit',ptcrit_omp)
    116      CALL getin('sigdz',sigdz_omp)
    117      CALL getin('spfac',spfac_omp)
    118      CALL getin('tau',tau_omp)
    119      CALL getin('flag_wb',flag_wb_omp)
    120      CALL getin('wbmax',wbmax_omp)
    121      CALL getin('ok_convstop',ok_convstop_omp)
    122      CALL getin('tau_stop',tau_stop_omp)
    123      CALL getin('ok_intermittent',ok_intermittent_omp)
    124      CALL getin('coef_peel',coef_peel_omp)
    125      CALL getin('flag_epKEorig',flag_epKEorig_omp)
    126      CALL getin('elcrit',elcrit_omp)
    127      CALL getin('tlcrit',tlcrit_omp)
    128    !$OMP END MASTER
    129    !$OMP BARRIER
    130      dpbase=dpbase_omp
    131      pbcrit=pbcrit_omp
    132      ptcrit=ptcrit_omp
    133      sigdz=sigdz_omp
    134      spfac=spfac_omp
    135      tau=tau_omp
    136      flag_wb=flag_wb_omp
    137      wbmax=wbmax_omp
    138      ok_convstop=ok_convstop_omp
    139      tau_stop=tau_stop_omp
    140      ok_intermittent=ok_intermittent_omp
    141      coef_peel=coef_peel_omp
    142      flag_epKEorig=flag_epKEorig_omp
    143      elcrit=elcrit_omp
    144      tlcrit=tlcrit_omp
    145 
     84! Var interm pour le getin
     85     dpbase=-40.
     86     CALL getin_p('dpbase',dpbase)
     87     pbcrit=150.0
     88     CALL getin_p('pbcrit',pbcrit)
     89     ptcrit=500.0
     90     CALL getin_p('ptcrit',ptcrit)
     91     sigdz=0.01
     92     CALL getin_p('sigdz',sigdz)
     93     spfac=0.15
     94     CALL getin_p('spfac',spfac)
     95     tau=8000.
     96     CALL getin_p('tau',tau)
     97     flag_wb=1
     98     CALL getin_p('flag_wb',flag_wb)
     99     wbmax=6.
     100     CALL getin_p('wbmax',wbmax)
     101     ok_convstop=.False.
     102     CALL getin_p('ok_convstop',ok_convstop)
     103     tau_stop=15000.
     104     CALL getin_p('tau_stop',tau_stop)
     105     ok_intermittent=.False.
     106     CALL getin_p('ok_intermittent',ok_intermittent)
     107     coef_peel=0.25
     108     CALL getin_p('coef_peel',coef_peel)
     109
     110     flag_epKEorig=1
     111     CALL getin_p('flag_epKEorig',flag_epKEorig)
     112     elcrit=0.0003
     113     CALL getin_p('elcrit',elcrit)
     114     tlcrit=-55.0
     115     CALL getin_p('tlcrit',tlcrit)
     116
     117    WRITE (*, *) 'dpbase=', dpbase
     118    WRITE (*, *) 'pbcrit=', pbcrit
     119    WRITE (*, *) 'ptcrit=', ptcrit
     120    WRITE (*, *) 'sigdz=', sigdz
     121    WRITE (*, *) 'spfac=', spfac
     122    WRITE (*, *) 'tau=', tau
     123    WRITE (*, *) 'flag_wb=', flag_wb
     124    WRITE (*, *) 'wbmax=', wbmax
     125    WRITE (*, *) 'ok_convstop=', ok_convstop
     126    WRITE (*, *) 'tau_stop=', tau_stop
     127    WRITE (*, *) 'ok_intermittent=', ok_intermittent
     128    WRITE (*, *) 'coef_peel=', coef_peel
     129
     130    WRITE (*, *) 'flag_epKEorig=', flag_epKEorig
     131    WRITE (*, *) 'elcrit=', elcrit
     132    WRITE (*, *) 'tlcrit=', tlcrit
    146133    first = .FALSE.
    147134  END IF ! (first)
  • LMDZ5/trunk/libf/phylmd/wake.F90

    r2467 r2474  
    2121  ! **************************************************************
    2222
    23   USE IOIPSL, ONLY : getin
     23  USE ioipsl_getin_p_mod, ONLY : getin_p
    2424  USE dimphy
    2525  use mod_phys_lmdz_para
     
    162162  REAL, SAVE ::  stark, wdens_ref, coefgw, alpk, crep_upper, crep_sol 
    163163  !$OMP THREADPRIVATE(stark, wdens_ref, coefgw, alpk, crep_upper, crep_sol)
    164   REAL, SAVE ::  stark_omp=0.33
    165   REAL, SAVE ::  alpk_omp=0.25
    166   REAL, SAVE ::  wdens_ref_omp=8.E-12
    167   REAL, SAVE ::  coefgw_omp=4.
    168   !$OMP THREADPRIVATE(stark_omp,alpk_omp,wdens_ref_omp,coefgw_omp)
    169164
    170165  REAL delta_t_min
     
    297292
    298293  ! cc nrlmd Lecture du fichier wake_param.data
    299  !$OMP MASTER
    300   CALL getin('stark',stark_omp)
    301   CALL getin('alpk',alpk_omp)
    302   CALL getin('wdens_ref',wdens_ref_omp)
    303   CALL getin('coefgw',coefgw_omp)
    304  !$OMP END MASTER
    305  !$OMP BARRIER
    306   stark=stark_omp
    307   alpk=alpk_omp
    308   wdens_ref=wdens_ref_omp
    309   coefgw=coefgw_omp
     294  stark=0.33
     295  CALL getin_p('stark',stark)
     296  alpk=0.25
     297  CALL getin_p('alpk',alpk)
     298  wdens_ref=8.E-12
     299  CALL getin_p('wdens_ref',wdens_ref)
     300  coefgw=4.
     301  CALL getin_p('coefgw',coefgw)
     302
     303  WRITE(*,*) 'stark=', stark
     304  WRITE(*,*) 'alpk=', alpk
     305  WRITE(*,*) 'wdens_ref=', wdens_ref
     306  WRITE(*,*) 'coefgw=', coefgw
     307
    310308  first=.false.
    311309 endif
Note: See TracChangeset for help on using the changeset viewer.