Ignore:
Timestamp:
Jul 25, 2024, 5:47:25 PM (4 months ago)
Author:
abarral
Message:

Correct bug in vlspltqs_loc.f90 from r2270 where we call SSUM with incorrect arguments.
Merge the three different versions of abort_gcm into one
Fix seq, para 3D compilation broken from r5107 onwards
(lint) usual + Remove uneeded fixed-form continuations

Location:
LMDZ6/branches/Amaury_dev/libf/phylmd
Files:
34 edited
1 moved

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/checknanqfi.F90

    r5082 r5128  
    11SUBROUTINE checknanqfi(zq,qmin,qmax,comment)
    22  USE dimphy
     3
    34  IMPLICIT NONE
    45
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/phytracr_spl_mod.F90

    r5117 r5128  
    33
    44MODULE phytracr_spl_mod
     5
    56
    67  ! Recuperation des morceaux de la physique de Jeronimo specifiques
  • LMDZ6/branches/Amaury_dev/libf/phylmd/FCTTRE.h

    r5099 r5128  
    2222
    2323      FOEEW ( PTARG,PDELARG ) = EXP (                                   &
    24      &          (R3LES*(1.-PDELARG)+R3IES*PDELARG) * (PTARG-RTT)        &
    25      & / (PTARG-(R4LES*(1.-PDELARG)+R4IES*PDELARG)) )
     24                (R3LES*(1.-PDELARG)+R3IES*PDELARG) * (PTARG-RTT)        &
     25       / (PTARG-(R4LES*(1.-PDELARG)+R4IES*PDELARG)) )
    2626
    2727      FOEDE ( PTARG,PDELARG,P5ARG,PQSARG,PCOARG ) = PQSARG*PCOARG*P5ARG &
    28      & / (PTARG-(R4LES*(1.-PDELARG)+R4IES*PDELARG))**2
     28       / (PTARG-(R4LES*(1.-PDELARG)+R4IES*PDELARG))**2
    2929
    3030      qsats(ptarg) = 100.0 * 0.622 * 10.0                               &
    31      &           ** (2.07023 - 0.00320991 * ptarg                       &
    32      &           - 2484.896 / ptarg + 3.56654 * LOG10(ptarg))
     31                 ** (2.07023 - 0.00320991 * ptarg                       &
     32                 - 2484.896 / ptarg + 3.56654 * LOG10(ptarg))
    3333      qsatl(ptarg) = 100.0 * 0.622 * 10.0                               &
    34      &           ** (23.8319 - 2948.964 / ptarg                         &
    35      &           - 5.028 * LOG10(ptarg)                                 &
    36      &           - 29810.16 * EXP( - 0.0699382 * ptarg)                 &
    37      &           + 25.21935 * EXP( - 2999.924 / ptarg))
     34                 ** (23.8319 - 2948.964 / ptarg                         &
     35                 - 5.028 * LOG10(ptarg)                                 &
     36                 - 29810.16 * EXP( - 0.0699382 * ptarg)                 &
     37                 + 25.21935 * EXP( - 2999.924 / ptarg))
    3838
    3939      dqsats(ptarg,pqsarg) = RLVTT/RCPD*pqsarg * (3.56654/ptarg         &
    40      &                     +2484.896*LOG(10.)/ptarg**2                  &
    41      &                     -0.00320991*LOG(10.))
     40                           +2484.896*LOG(10.)/ptarg**2                  &
     41                           -0.00320991*LOG(10.))
    4242      dqsatl(ptarg,pqsarg) = RLVTT/RCPD*pqsarg*LOG(10.)*                &
    43      &                (2948.964/ptarg**2-5.028/LOG(10.)/ptarg           &
    44      &                +25.21935*2999.924/ptarg**2*EXP(-2999.924/ptarg)  &
    45      &                +29810.16*0.0699382*EXP(-0.0699382*ptarg))
     43                      (2948.964/ptarg**2-5.028/LOG(10.)/ptarg           &
     44                      +25.21935*2999.924/ptarg**2*EXP(-2999.924/ptarg)  &
     45                      +29810.16*0.0699382*EXP(-0.0699382*ptarg))
  • LMDZ6/branches/Amaury_dev/libf/phylmd/YOECUMF.h

    r5099 r5128  
    1212
    1313      COMMON /YOECUMF/                                                  &
    14      &                 ENTRPEN,ENTRSCV,ENTRMID,ENTRDD,CMFCTOP,          &
    15      &                 CMFCMAX,CMFCMIN,CMFDEPS,RHCDD,CPRCON,            &
    16      &                 LMFPEN,LMFSCV,LMFMID,LMFDD,LMFDUDV
     14                       ENTRPEN,ENTRSCV,ENTRMID,ENTRDD,CMFCTOP,          &
     15                       CMFCMAX,CMFCMIN,CMFDEPS,RHCDD,CPRCON,            &
     16                       LMFPEN,LMFSCV,LMFMID,LMFDD,LMFDUDV
    1717
    1818
  • LMDZ6/branches/Amaury_dev/libf/phylmd/YOEGWD.h

    r5117 r5128  
    2525
    2626      COMMON/YOEGWD/ GFRCRIT,GKWAKE,GRCRIT,GVCRIT,GKDRAG,GKLIFT,        &
    27      &     GHMAX,GRAHILO,GSIGCR,NKTOPG,NSTRA,GSSEC,GTSEC,GVSEC,         &
    28      &     GWD_RANDO_RUWMAX, gwd_rando_sat,                             &
    29      &     GWD_FRONT_RUWMAX, gwd_front_sat
     27           GHMAX,GRAHILO,GSIGCR,NKTOPG,NSTRA,GSSEC,GTSEC,GVSEC,         &
     28           GWD_RANDO_RUWMAX, gwd_rando_sat,                             &
     29           GWD_FRONT_RUWMAX, gwd_front_sat
    3030
    3131      save /YOEGWD/
  • LMDZ6/branches/Amaury_dev/libf/phylmd/YOETHF.h

    r5099 r5128  
    2222                                  ! If FALSE, then variables set by suphel.F90
    2323      COMMON /YOETHF/R2ES, R3LES, R3IES, R4LES, R4IES, R5LES, R5IES,    &
    24      &               RVTMP2, RHOH2O,                                    &
    25      &               R5ALVCP,R5ALSCP,RALVDCP,RALSDCP,                   &
    26      &               RALFDCP,RTWAT,RTBER,RTBERCU,                       &
    27      &               RTICE,RTICECU,RTWAT_RTICE_R,RTWAT_RTICECU_R,RKOOP1,&
    28      &               RKOOP2,                                            &
    29      &               OK_BAD_ECMWF_THERMO
     24                     RVTMP2, RHOH2O,                                    &
     25                     R5ALVCP,R5ALSCP,RALVDCP,RALSDCP,                   &
     26                     RALFDCP,RTWAT,RTBER,RTBERCU,                       &
     27                     RTICE,RTICECU,RTWAT_RTICE_R,RTWAT_RTICECU_R,RKOOP1,&
     28                     RKOOP2,                                            &
     29                     OK_BAD_ECMWF_THERMO
    3030
    3131!$OMP THREADPRIVATE(/YOETHF/)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/YOMCST.h

    r5099 r5128  
    3232
    3333      COMMON/YOMCST/RPI   ,RCLUM ,RHPLA ,RKBOL ,RNAVO                   &
    34      &      ,RDAY  ,REA   ,REPSM ,RSIYEA,RSIDAY,ROMEGA                  &
    35      &      ,R_ecc, R_peri, R_incl                                      &
    36      &      ,RA    ,RG    ,R1SA                                         &
    37      &      ,RSIGMA                                                     &
    38      &      ,R     ,RMD   ,RMV   ,RD    ,RV    ,RCPD                    &
    39      &      ,RMO3  ,RMCO2 ,RMC   ,RMCH4 ,RMN2O ,RMCFC11 ,RMCFC12        &
    40      &      ,RCPV  ,RCVD  ,RCVV  ,RKAPPA,RETV, eps_w                    &
    41      &      ,RCW   ,RCS                                                 &
    42      &      ,RLVTT ,RLSTT ,RLMLT ,RTT   ,RATM                           &
    43      &      ,RESTT ,RALPW ,RBETW ,RGAMW ,RALPS ,RBETS ,RGAMS            &
    44      &      ,RALPD ,RBETD ,RGAMD
     34            ,RDAY  ,REA   ,REPSM ,RSIYEA,RSIDAY,ROMEGA                  &
     35            ,R_ecc, R_peri, R_incl                                      &
     36            ,RA    ,RG    ,R1SA                                         &
     37            ,RSIGMA                                                     &
     38            ,R     ,RMD   ,RMV   ,RD    ,RV    ,RCPD                    &
     39            ,RMO3  ,RMCO2 ,RMC   ,RMCH4 ,RMN2O ,RMCFC11 ,RMCFC12        &
     40            ,RCPV  ,RCVD  ,RCVV  ,RKAPPA,RETV, eps_w                    &
     41            ,RCW   ,RCS                                                 &
     42            ,RLVTT ,RLSTT ,RLMLT ,RTT   ,RATM                           &
     43            ,RESTT ,RALPW ,RBETW ,RGAMW ,RALPS ,RBETS ,RGAMS            &
     44            ,RALPD ,RBETD ,RGAMD
    4545!    ------------------------------------------------------------------
    4646!$OMP THREADPRIVATE(/YOMCST/)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/YOMCST2.h

    r5099 r5128  
    66
    77      COMMON/YOMCST2/gammas,    alphas, betas, Fmax, scut,              &
    8      &               qqa1, qqa2, qqa3,                                  &
    9      &               Qcoef1max,Qcoef2max,                               &
    10      &               Supcrit1, Supcrit2,                                &
    11      &               choice,iflag_mix,coef_clos_ls,iflag_mix_adiab
     8                     qqa1, qqa2, qqa3,                                  &
     9                     Qcoef1max,Qcoef2max,                               &
     10                     Supcrit1, Supcrit2,                                &
     11                     choice,iflag_mix,coef_clos_ls,iflag_mix_adiab
    1212!$OMP THREADPRIVATE(/YOMCST2/)
    1313!    --------------------------------------------------------------------
  • LMDZ6/branches/Amaury_dev/libf/phylmd/calcul_REGDYN.h

    r1907 r5128  
    1 c
    2 c $Header$
    3 c
    4 c calculs statistiques distribution nuage ftion du regime dynamique
    5 c
    6 c Ce calcul doit etre fait a partir de valeurs mensuelles ??
    7       CALL histo_o500_pctau(nbregdyn,pct_ocean,o500,fq_isccp,
    8      &histoW,nhistoW)
    9 c
    10 c nhistoWt = somme de toutes les nhistoW
     1!
     2! $Header$
     3!
     4! calculs statistiques distribution nuage ftion du regime dynamique
     5!
     6! Ce calcul doit etre fait a partir de valeurs mensuelles ??
     7      CALL histo_o500_pctau(nbregdyn,pct_ocean,o500,fq_isccp, &
     8     histoW,nhistoW)
     9!
     10! nhistoWt = somme de toutes les nhistoW
    1111      DO nreg=1, nbregdyn
    1212       DO k = 1, kmaxm1
    1313        DO l = 1, lmaxm1
    1414         DO iw = 1, iwmax
    15           nhistoWt(k,l,iw,nreg)=nhistoWt(k,l,iw,nreg)+
    16      &    nhistoW(k,l,iw,nreg)
     15          nhistoWt(k,l,iw,nreg)=nhistoWt(k,l,iw,nreg)+&
     16         nhistoW(k,l,iw,nreg)
    1717         ENDDO
    1818        ENDDO
    1919       ENDDO
    2020      ENDDO
    21 c
    22 cIM 190504 END
     21!
     22!IM 190504 END
  • LMDZ6/branches/Amaury_dev/libf/phylmd/calltherm.F90

    r5119 r5128  
    3333      USE lmdz_thermcell_old, ONLY: thermcell, thermcell_2002, thermcell_eau, calcul_sec, thermcell_sec
    3434      USE lmdz_abort_physic, ONLY: abort_physic
     35
    3536#ifdef ISO
    3637      USE infotrac_phy, ONLY: ntiso
  • LMDZ6/branches/Amaury_dev/libf/phylmd/clesphys.h

    r5099 r5128  
    116116! REAL FIRST
    117117! rajout choix_bulk et nit_bulk kz0 par Olivier Torres
    118      &       co2_ppm, solaire                                           &
    119      &     , RCO2, RCH4, RN2O, RCFC11, RCFC12                           &
    120      &     , RCO2_act, RCH4_act, RN2O_act, RCFC11_act, RCFC12_act       &
    121      &     , RCO2_per, RCH4_per, RN2O_per, RCFC11_per, RCFC12_per       &
    122      &     , CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt                     &
    123      &     , CH4_ppb_per, N2O_ppb_per, CFC11_ppt_per, CFC12_ppt_per     &
    124      &     , cdmmax,cdhmax,ksta,ksta_ter,f_ri_cd_min                    &
    125      &     , fmagic, pmagic                                             &
    126      &     , f_cdrag_ter,f_cdrag_oce,f_rugoro,z0min,tau_gl              &
    127      &     , min_wind_speed,f_gust_wk,f_gust_bl,f_qsat_oce,f_z0qh_oce   &
    128      &     , z0m_seaice,z0h_seaice,z0m_landice,z0h_landice              &
    129      &     , freq_outNMC, freq_calNMC                                   &
    130      &     , lonmin_ins, lonmax_ins, latmin_ins, latmax_ins             &
    131      &     , freq_ISCCP, ecrit_ISCCP, freq_COSP, freq_AIRS              &
    132      &     , cvl_corr                                                   &
    133      &     , qsol0,albsno0,evap0                                        &
    134      &     , co2_ppm0                                                   &
    135      &     , tau_thermals                                               &
     118             co2_ppm, solaire                                           &
     119           , RCO2, RCH4, RN2O, RCFC11, RCFC12                           &
     120           , RCO2_act, RCH4_act, RN2O_act, RCFC11_act, RCFC12_act       &
     121           , RCO2_per, RCH4_per, RN2O_per, RCFC11_per, RCFC12_per       &
     122           , CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt                     &
     123           , CH4_ppb_per, N2O_ppb_per, CFC11_ppt_per, CFC12_ppt_per     &
     124           , cdmmax,cdhmax,ksta,ksta_ter,f_ri_cd_min                    &
     125           , fmagic, pmagic                                             &
     126           , f_cdrag_ter,f_cdrag_oce,f_rugoro,z0min,tau_gl              &
     127           , min_wind_speed,f_gust_wk,f_gust_bl,f_qsat_oce,f_z0qh_oce   &
     128           , z0m_seaice,z0h_seaice,z0m_landice,z0h_landice              &
     129           , freq_outNMC, freq_calNMC                                   &
     130           , lonmin_ins, lonmax_ins, latmin_ins, latmax_ins             &
     131           , freq_ISCCP, ecrit_ISCCP, freq_COSP, freq_AIRS              &
     132           , cvl_corr                                                   &
     133           , qsol0,albsno0,evap0                                        &
     134           , co2_ppm0                                                   &
     135           , tau_thermals                                               &
    136136!FC
    137      &     , Cd_frein,zrel_oro_t,zpmm_orodr_t,zpmm_orolf_t,zstd_orodr_t &
    138      &     , ecrit_LES                                                  &
    139      &     , ecrit_ins, ecrit_hf, ecrit_day                             &
    140      &     , ecrit_mth, ecrit_tra, ecrit_reg                            &
     137           , Cd_frein,zrel_oro_t,zpmm_orodr_t,zpmm_orolf_t,zstd_orodr_t &
     138           , ecrit_LES                                                  &
     139           , ecrit_ins, ecrit_hf, ecrit_day                             &
     140           , ecrit_mth, ecrit_tra, ecrit_reg                            &
    141141! THEN INTEGER AND LOGICALS
    142      &     , top_height                                                 &
    143      &     , iflag_cycle_diurne, soil_model, new_oliq                   &
    144      &     , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad                &
    145      &     , iflag_con, nbapp_cv, nbapp_wk                              &
    146      &     , choix_bulk, nit_bulk, kz0                                  &
    147      &     , iflag_ener_conserv                                         &
    148      &     , ok_suntime_rrtm                                            &
    149      &     , overlap                                                    &
    150      &     , ok_kzmin                                                   &
    151      &     , lev_histhf, lev_histday, lev_histmth                       &
    152      &     , lev_histins, lev_histLES, lev_histdayNMC, levout_histNMC   &
    153      &     , ok_histNMC                                                 &
    154      &     , type_run, ok_regdyn, ok_cosp, ok_airs                      &
    155      &     , ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP                     &
    156      &     , ip_ebil_phy                                                &
    157      &     , iflag_gusts ,iflag_z0_oce                                  &
    158      &     , ok_lic_melt, ok_lic_cond, aer_type                         &
    159      &     , iflag_rrtm, ok_strato,ok_hines, ok_qch4                    &
    160      &     , iflag_ice_thermo, ok_ice_sursat                            &
    161      &     , ok_plane_h2o, ok_plane_contrail                            &
    162      &     , ok_gwd_rando, NSW, iflag_albedo                            &
    163      &     , ok_chlorophyll,ok_conserv_q, adjust_tropopause             &
    164      &     , ok_daily_climoz, ok_all_xml, ok_lwoff                      &
    165      &     , iflag_phytrac, ok_new_lscp, ok_bs, ok_rad_bs               &
    166      &     ,  iflag_thermals,nsplit_thermals              &
    167      &     , iflag_physiq, ok_3Deffect, ok_water_mass_fixer
     142           , top_height                                                 &
     143           , iflag_cycle_diurne, soil_model, new_oliq                   &
     144           , ok_orodr, ok_orolf, ok_limitvrai, nbapp_rad                &
     145           , iflag_con, nbapp_cv, nbapp_wk                              &
     146           , choix_bulk, nit_bulk, kz0                                  &
     147           , iflag_ener_conserv                                         &
     148           , ok_suntime_rrtm                                            &
     149           , overlap                                                    &
     150           , ok_kzmin                                                   &
     151           , lev_histhf, lev_histday, lev_histmth                       &
     152           , lev_histins, lev_histLES, lev_histdayNMC, levout_histNMC   &
     153           , ok_histNMC                                                 &
     154           , type_run, ok_regdyn, ok_cosp, ok_airs                      &
     155           , ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP                     &
     156           , ip_ebil_phy                                                &
     157           , iflag_gusts ,iflag_z0_oce                                  &
     158           , ok_lic_melt, ok_lic_cond, aer_type                         &
     159           , iflag_rrtm, ok_strato,ok_hines, ok_qch4                    &
     160           , iflag_ice_thermo, ok_ice_sursat                            &
     161           , ok_plane_h2o, ok_plane_contrail                            &
     162           , ok_gwd_rando, NSW, iflag_albedo                            &
     163           , ok_chlorophyll,ok_conserv_q, adjust_tropopause             &
     164           , ok_daily_climoz, ok_all_xml, ok_lwoff                      &
     165           , iflag_phytrac, ok_new_lscp, ok_bs, ok_rad_bs               &
     166           ,  iflag_thermals,nsplit_thermals              &
     167           , iflag_physiq, ok_3Deffect, ok_water_mass_fixer
    168168       save /clesphys/
    169169!$OMP THREADPRIVATE(/clesphys/)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/comsoil.h

    r5117 r5128  
    33
    44      common /comsoil/inertie_sol,inertie_sno,inertie_sic,inertie_lic,  &
    5      &                iflag_sic,iflag_inertie
     5                      iflag_sic,iflag_inertie
    66      REAL inertie_sol,inertie_sno,inertie_sic,inertie_lic
    77      INTEGER iflag_sic,iflag_inertie
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/1D_decl_cases.h

    r5117 r5128  
    190190
    191191        common /turb_forcing/                                                   &
    192      &  dtime_frcg,hthturb_gcssold, hqturb_gcssold,Turb_fcg_gcssold
     192        dtime_frcg,hthturb_gcssold, hqturb_gcssold,Turb_fcg_gcssold
    193193!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    194194! Declarations specifiques au cas Arm_cu
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/1D_interp_cases.h

    r5117 r5128  
    99        CALL interp_case_time_std(daytime,day1,annee_ref                                       &
    1010!    &       ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas                           &
    11      &       ,nt_cas,nlev_cas                                                               &
    12      &       ,ts_cas,tskin_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
    13      &       ,u_cas,v_cas,ug_cas,vg_cas                                                     &
    14      &       ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
    15      &       ,invtau_temp_nudg_cas,invtau_qv_nudg_cas,invtau_u_nudg_cas,invtau_v_nudg_cas    &
    16      &       ,vitw_cas,omega_cas,tke_cas,du_cas,hu_cas,vu_cas                                       &
    17      &       ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
    18      &       ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
    19      &       ,uw_cas,vw_cas,q1_cas,q2_cas,tkes_cas                                           &
     11             ,nt_cas,nlev_cas                                                               &
     12             ,ts_cas,tskin_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
     13             ,u_cas,v_cas,ug_cas,vg_cas                                                     &
     14             ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
     15             ,invtau_temp_nudg_cas,invtau_qv_nudg_cas,invtau_u_nudg_cas,invtau_v_nudg_cas    &
     16             ,vitw_cas,omega_cas,tke_cas,du_cas,hu_cas,vu_cas                                       &
     17             ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
     18             ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
     19             ,uw_cas,vw_cas,q1_cas,q2_cas,tkes_cas                                           &
    2020
    21      &       ,ts_prof_cas,tskin_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
    22      &       ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
    23      &       ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
    24      &       ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas           &
    25      &       ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas  &     
    26      &       ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                     &
    27      &       ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
    28      &       ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
    29      &       ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas                            &
    30      &       ,dth_prof_cas,hth_prof_cas,vth_prof_cas,lat_prof_cas                           &
    31      &       ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tkes_prof_cas)
     21             ,ts_prof_cas,tskin_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
     22             ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
     23             ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
     24             ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas           &
     25             ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas  &
     26             ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                     &
     27             ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
     28             ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
     29             ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas                            &
     30             ,dth_prof_cas,hth_prof_cas,vth_prof_cas,lat_prof_cas                           &
     31             ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tkes_prof_cas)
    3232! EV tg instead of ts_cur
    3333             tg = ts_prof_cas
     
    4141! vertical interpolation:
    4242      CALL interp2_case_vertical_std(play,plev,nlev_cas,plev_prof_cas                                              &
    43      &         ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                       &
    44      &         ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                                 &
    45      &         ,ug_prof_cas,vg_prof_cas                                                                   &
    46      &         ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                       &
    47      &         ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas &
     43               ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                       &
     44               ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                                 &
     45               ,ug_prof_cas,vg_prof_cas                                                                   &
     46               ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                       &
     47               ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas &
    4848
    49      &         ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                                 &
    50      &         ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
    51      &         ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
    52      &         ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                    &
     49               ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                                 &
     50               ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
     51               ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
     52               ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                    &
    5353
    54      &         ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas          &
    55      &         ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas                                                 &
    56      &         ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                           &
    57      &         ,invtau_temp_nudg_mod_cas,invtau_qv_nudg_mod_cas,invtau_u_nudg_mod_cas,invtau_v_nudg_mod_cas   &     
    58      &         ,w_mod_cas,omega_mod_cas,tke_mod_cas                                                       &
    59      &         ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
    60      &         ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
    61      &         ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
     54               ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas          &
     55               ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas                                                 &
     56               ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                           &
     57               ,invtau_temp_nudg_mod_cas,invtau_qv_nudg_mod_cas,invtau_u_nudg_mod_cas,invtau_v_nudg_mod_cas   &
     58               ,w_mod_cas,omega_mod_cas,tke_mod_cas                                                       &
     59               ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
     60               ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
     61               ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
    6262
    6363
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/1D_read_forc_cases.h

    r5117 r5128  
    2222        CALL interp_case_time_std(daytime,day1,annee_ref                                       &
    2323!    &       ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas                           &
    24      &       ,nt_cas,nlev_cas                                                               &
    25      &       ,ts_cas,tskin_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
    26      &       ,u_cas,v_cas,ug_cas,vg_cas                                                     &
    27      &       ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
    28      &       ,invtau_temp_nudg_cas,invtau_qv_nudg_cas,invtau_u_nudg_cas,invtau_v_nudg_cas    &
    29      &       ,vitw_cas,omega_cas,tke_cas,du_cas,hu_cas,vu_cas                               &
    30      &       ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
    31      &       ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
    32      &       ,uw_cas,vw_cas,q1_cas,q2_cas,tkes_cas                                           &
     24             ,nt_cas,nlev_cas                                                               &
     25             ,ts_cas,tskin_cas,ps_cas,plev_cas,t_cas,th_cas,thv_cas,thl_cas,qv_cas,ql_cas,qi_cas      &
     26             ,u_cas,v_cas,ug_cas,vg_cas                                                     &
     27             ,temp_nudg_cas,qv_nudg_cas,u_nudg_cas,v_nudg_cas                               &
     28             ,invtau_temp_nudg_cas,invtau_qv_nudg_cas,invtau_u_nudg_cas,invtau_v_nudg_cas    &
     29             ,vitw_cas,omega_cas,tke_cas,du_cas,hu_cas,vu_cas                               &
     30             ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas                           &
     31             ,dq_cas,hq_cas,vq_cas,dth_cas,hth_cas,vth_cas,lat_cas,sens_cas,ustar_cas       &
     32             ,uw_cas,vw_cas,q1_cas,q2_cas,tkes_cas                                           &
    3333
    34      &       ,ts_prof_cas,tskin_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
    35      &       ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
    36      &       ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
    37      &       ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas           &
    38      &       ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas &
    39      &       ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                    &
    40      &       ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
    41      &       ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
    42      &       ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas                            &
    43      &       ,dth_prof_cas,hth_prof_cas,vth_prof_cas,lat_prof_cas                           &
    44      &       ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tkes_prof_cas)
     34             ,ts_prof_cas,tskin_prof_cas,ps_prof_cas,plev_prof_cas,t_prof_cas,theta_prof_cas,thv_prof_cas  &
     35             ,thl_prof_cas,qv_prof_cas,ql_prof_cas,qi_prof_cas                              &
     36             ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas                                 &
     37             ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas           &
     38             ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas &
     39             ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                    &
     40             ,du_prof_cas,hu_prof_cas,vu_prof_cas                                           &
     41             ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas       &
     42             ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas                            &
     43             ,dth_prof_cas,hth_prof_cas,vth_prof_cas,lat_prof_cas                           &
     44             ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas,tkes_prof_cas)
    4545
    4646      do l = 1, nlev_cas
     
    5151!      WRITE(*,*)'avant interp vert', t_prof
    5252      CALL interp2_case_vertical_std(play,plev,nlev_cas,plev_prof_cas                                              &
    53      &         ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                          &
    54      &         ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                                 &
    55      &         ,ug_prof_cas,vg_prof_cas                                                                   &
    56      &       ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                         &
    57      &       ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas       &
    58      &         ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                                 &
    59      &         ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
    60      &         ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
    61      &         ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                    &
     53               ,t_prof_cas,theta_prof_cas,thv_prof_cas,thl_prof_cas                                          &
     54               ,qv_prof_cas,ql_prof_cas,qi_prof_cas,u_prof_cas,v_prof_cas                                 &
     55               ,ug_prof_cas,vg_prof_cas                                                                   &
     56             ,temp_nudg_prof_cas,qv_nudg_prof_cas,u_nudg_prof_cas,v_nudg_prof_cas                         &
     57             ,invtau_temp_nudg_prof_cas,invtau_qv_nudg_prof_cas,invtau_u_nudg_prof_cas,invtau_v_nudg_prof_cas       &
     58               ,vitw_prof_cas,omega_prof_cas,tke_prof_cas                                                 &
     59               ,du_prof_cas,hu_prof_cas,vu_prof_cas,dv_prof_cas,hv_prof_cas,vv_prof_cas                   &
     60               ,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas    &
     61               ,dth_prof_cas,hth_prof_cas,vth_prof_cas                                                    &
    6262
    63      &         ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas          &
    64      &         ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas                                                 &
    65      &         ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                           &
    66      &         ,invtau_temp_nudg_mod_cas,invtau_qv_nudg_mod_cas,invtau_u_nudg_mod_cas,invtau_v_nudg_mod_cas        &
    67      &         ,w_mod_cas,omega_mod_cas,tke_mod_cas                                                       &
    68      &         ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
    69      &         ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
    70      &         ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
     63               ,t_mod_cas,theta_mod_cas,thv_mod_cas,thl_mod_cas,qv_mod_cas,ql_mod_cas,qi_mod_cas          &
     64               ,u_mod_cas,v_mod_cas,ug_mod_cas,vg_mod_cas                                                 &
     65               ,temp_nudg_mod_cas,qv_nudg_mod_cas,u_nudg_mod_cas,v_nudg_mod_cas                           &
     66               ,invtau_temp_nudg_mod_cas,invtau_qv_nudg_mod_cas,invtau_u_nudg_mod_cas,invtau_v_nudg_mod_cas        &
     67               ,w_mod_cas,omega_mod_cas,tke_mod_cas                                                       &
     68               ,du_mod_cas,hu_mod_cas,vu_mod_cas,dv_mod_cas,hv_mod_cas,vv_mod_cas                         &
     69               ,dt_mod_cas,ht_mod_cas,vt_mod_cas,dtrad_mod_cas,dq_mod_cas,hq_mod_cas,vq_mod_cas           &
     70               ,dth_mod_cas,hth_mod_cas,vth_mod_cas,mxcalc)
    7171
    7272
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/compar1d.h

    r5117 r5128  
    4646      real    :: p_nudging_u, p_nudging_v, p_nudging_w, p_nudging_t, p_nudging_qv
    4747      common/com_par1d/                                                 &
    48      & nat_surf,tsurf,beta_surf,rugos,rugosh,                           &
    49      & xqsol,qsurf,psurf,zsurf,albedo,time,time_ini,xlat,xlon,airefi,   &
    50      & wtsurf,wqsurf,restart_runoff,xagesno,qsolinp,zpicinp,            &
    51      & forcing_type,tend_u,tend_v,tend_w,tend_t,tend_q,tend_rayo,       &
    52      & nudge_u,nudge_v,nudge_w,nudge_t,nudge_q,                         &
    53      & iflag_nudge,snowmass,                                            &
    54      & restart,ok_old_disvert,                                          &
    55      & tadv, tadvv, tadvh, qadv, qadvv, qadvh, thadv, thadvv, thadvh,   &
    56      & trad, forc_omega, forc_u, forc_v, forc_w, forc_geo, forc_ustar,  &
    57      & nudging_u, nudging_v, nudging_t, nudging_qv, nudging_w,          &
    58      & p_nudging_u, p_nudging_v, p_nudging_t, p_nudging_qv, p_nudging_w
     48       nat_surf,tsurf,beta_surf,rugos,rugosh,                           &
     49       xqsol,qsurf,psurf,zsurf,albedo,time,time_ini,xlat,xlon,airefi,   &
     50       wtsurf,wqsurf,restart_runoff,xagesno,qsolinp,zpicinp,            &
     51       forcing_type,tend_u,tend_v,tend_w,tend_t,tend_q,tend_rayo,       &
     52       nudge_u,nudge_v,nudge_w,nudge_t,nudge_q,                         &
     53       iflag_nudge,snowmass,                                            &
     54       restart,ok_old_disvert,                                          &
     55       tadv, tadvv, tadvh, qadv, qadvv, qadvh, thadv, thadvv, thadvh,   &
     56       trad, forc_omega, forc_u, forc_v, forc_w, forc_geo, forc_ustar,  &
     57       nudging_u, nudging_v, nudging_t, nudging_qv, nudging_w,          &
     58       p_nudging_u, p_nudging_v, p_nudging_t, p_nudging_qv, p_nudging_w
    5959
    6060!$OMP THREADPRIVATE(/com_par1d/)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_1dutils.f90

    r5119 r5128  
    11MODULE lmdz_1dutils
    22  IMPLICIT NONE; PRIVATE
    3   PUBLIC fq_sat, conf_unicol, dyn1deta0, dyn1dredem, gr_fi_dyn, abort_gcm, gr_dyn_fi, &
     3  PUBLIC fq_sat, conf_unicol, dyn1deta0, dyn1dredem, &
    44          disvert0, advect_vert, advect_va, lstendh, nudge_rht_init, nudge_uv_init, &
    55          nudge_rht, nudge_uv, interp2_case_vertical
     
    981981
    982982
    983   SUBROUTINE gr_fi_dyn(nfield, ngrid, im, jm, pfi, pdyn)
    984     USE lmdz_ssum_scopy, ONLY: scopy
    985 
    986     IMPLICIT NONE
    987     !=======================================================================
    988     !   passage d'un champ de la grille scalaire a la grille physique
    989     !=======================================================================
    990 
    991     !-----------------------------------------------------------------------
    992     !   declarations:
    993     !   -------------
    994 
    995     INTEGER im, jm, ngrid, nfield
    996     REAL pdyn(im, jm, nfield)
    997     REAL pfi(ngrid, nfield)
    998 
    999     INTEGER i, j, ifield, ig
    1000 
    1001     !-----------------------------------------------------------------------
    1002     !   calcul:
    1003     !   -------
    1004 
    1005     DO ifield = 1, nfield
    1006       !   traitement des poles
    1007       DO i = 1, im
    1008         pdyn(i, 1, ifield) = pfi(1, ifield)
    1009         pdyn(i, jm, ifield) = pfi(ngrid, ifield)
    1010       ENDDO
    1011 
    1012       !   traitement des point normaux
    1013       DO j = 2, jm - 1
    1014         ig = 2 + (j - 2) * (im - 1)
    1015         CALL SCOPY(im - 1, pfi(ig, ifield), 1, pdyn(1, j, ifield), 1)
    1016         pdyn(im, j, ifield) = pdyn(1, j, ifield)
    1017       ENDDO
    1018     ENDDO
    1019 
    1020   END SUBROUTINE gr_fi_dyn
    1021 
    1022 
    1023   SUBROUTINE abort_gcm(modname, message, ierr)
    1024     USE IOIPSL
    1025 
    1026     ! Stops the simulation cleanly, closing files and printing various
    1027     ! comments
    1028 
    1029     !  Input: modname = name of calling program
    1030     !         message = stuff to print
    1031     !         ierr    = severity of situation ( = 0 normal )
    1032 
    1033     CHARACTER(LEN = *) modname
    1034     INTEGER ierr
    1035     CHARACTER(LEN = *) message
    1036 
    1037     WRITE(*, *) 'in abort_gcm'
    1038     CALL histclo
    1039     !     CALL histclo(2)
    1040     !     CALL histclo(3)
    1041     !     CALL histclo(4)
    1042     !     CALL histclo(5)
    1043     WRITE(*, *) 'out of histclo'
    1044     WRITE(*, *) 'Stopping in ', modname
    1045     WRITE(*, *) 'Reason = ', message
    1046     CALL getin_dump
    1047 
    1048     IF (ierr == 0) THEN
    1049       WRITE(*, *) 'Everything is cool'
    1050     else
    1051       WRITE(*, *) 'Houston, we have a problem ', ierr
    1052     endif
    1053     STOP
    1054   END SUBROUTINE abort_gcm
    1055 
    1056 
    1057   SUBROUTINE gr_dyn_fi(nfield, im, jm, ngrid, pdyn, pfi)
    1058     IMPLICIT NONE
    1059     !=======================================================================
    1060     !   passage d'un champ de la grille scalaire a la grille physique
    1061     !=======================================================================
    1062 
    1063     !-----------------------------------------------------------------------
    1064     !   declarations:
    1065     !   -------------
    1066 
    1067     INTEGER im, jm, ngrid, nfield
    1068     REAL pdyn(im, jm, nfield)
    1069     REAL pfi(ngrid, nfield)
    1070 
    1071     INTEGER j, ifield, ig
    1072 
    1073     !-----------------------------------------------------------------------
    1074     !   calcul:
    1075     !   -------
    1076 
    1077     IF(ngrid/=2 + (jm - 2) * (im - 1).AND.ngrid/=1)                          &
    1078             &    STOP 'probleme de dim'
    1079     !   traitement des poles
    1080     CALL SCOPY(nfield, pdyn, im * jm, pfi, ngrid)
    1081     CALL SCOPY(nfield, pdyn(1, jm, 1), im * jm, pfi(ngrid, 1), ngrid)
    1082 
    1083     !   traitement des point normaux
    1084     DO ifield = 1, nfield
    1085       DO j = 2, jm - 1
    1086         ig = 2 + (j - 2) * (im - 1)
    1087         CALL SCOPY(im - 1, pdyn(1, j, ifield), 1, pfi(ig, ifield), 1)
    1088       ENDDO
    1089     ENDDO
    1090   END SUBROUTINE gr_dyn_fi
    1091 
    1092 
    1093983  SUBROUTINE disvert0(pa, preff, ap, bp, dpres, presnivs, nivsigs, nivsig)
    1094984
     
    18521742
    18531743END MODULE lmdz_1dutils
     1744
     1745SUBROUTINE gr_fi_dyn(nfield, ngrid, im, jm, pfi, pdyn)
     1746  USE lmdz_ssum_scopy, ONLY: scopy
     1747
     1748  IMPLICIT NONE
     1749  !=======================================================================
     1750  !   passage d'un champ de la grille scalaire a la grille physique
     1751  !=======================================================================
     1752
     1753  !-----------------------------------------------------------------------
     1754  !   declarations:
     1755  !   -------------
     1756
     1757  INTEGER im, jm, ngrid, nfield
     1758  REAL pdyn(im, jm, nfield)
     1759  REAL pfi(ngrid, nfield)
     1760
     1761  INTEGER i, j, ifield, ig
     1762
     1763  !-----------------------------------------------------------------------
     1764  !   calcul:
     1765  !   -------
     1766
     1767  DO ifield = 1, nfield
     1768    !   traitement des poles
     1769    DO i = 1, im
     1770      pdyn(i, 1, ifield) = pfi(1, ifield)
     1771      pdyn(i, jm, ifield) = pfi(ngrid, ifield)
     1772    ENDDO
     1773
     1774    !   traitement des point normaux
     1775    DO j = 2, jm - 1
     1776      ig = 2 + (j - 2) * (im - 1)
     1777      CALL SCOPY(im - 1, pfi(ig, ifield), 1, pdyn(1, j, ifield), 1)
     1778      pdyn(im, j, ifield) = pdyn(1, j, ifield)
     1779    ENDDO
     1780  ENDDO
     1781
     1782END SUBROUTINE gr_fi_dyn
     1783
     1784SUBROUTINE gr_dyn_fi(nfield, im, jm, ngrid, pdyn, pfi)
     1785  USE lmdz_ssum_scopy, ONLY: scopy
     1786
     1787  IMPLICIT NONE
     1788  !=======================================================================
     1789  !   passage d'un champ de la grille scalaire a la grille physique
     1790  !=======================================================================
     1791
     1792  !-----------------------------------------------------------------------
     1793  !   declarations:
     1794  !   -------------
     1795
     1796  INTEGER im, jm, ngrid, nfield
     1797  REAL pdyn(im, jm, nfield)
     1798  REAL pfi(ngrid, nfield)
     1799
     1800  INTEGER j, ifield, ig
     1801
     1802  !-----------------------------------------------------------------------
     1803  !   calcul:
     1804  !   -------
     1805
     1806  IF(ngrid/=2 + (jm - 2) * (im - 1).AND.ngrid/=1)                          &
     1807          &    STOP 'probleme de dim'
     1808  !   traitement des poles
     1809  CALL SCOPY(nfield, pdyn, im * jm, pfi, ngrid)
     1810  CALL SCOPY(nfield, pdyn(1, jm, 1), im * jm, pfi(ngrid, 1), ngrid)
     1811
     1812  !   traitement des point normaux
     1813  DO ifield = 1, nfield
     1814    DO j = 2, jm - 1
     1815      ig = 2 + (j - 2) * (im - 1)
     1816      CALL SCOPY(im - 1, pdyn(1, j, ifield), 1, pfi(ig, ifield), 1)
     1817    ENDDO
     1818  ENDDO
     1819END SUBROUTINE gr_dyn_fi
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_old_1dconv.f90

    r5119 r5128  
    11MODULE lmdz_old_1dconv
    2   IMPLICIT NONE; PRIVATE
    3   PUBLIC get_uvd, copie
     2   PRIVATE  ! -- We'd love to put IMPLICIT NONE;  here...
     3  PUBLIC get_uvd, copie, get_uvd2, rdgrads, spaces
    44CONTAINS
    55
     
    6767    INTEGER itap
    6868    REAL dtime
    69     REAL ht(100)
    70     REAL hq(100)
    71     REAL hu(100)
    72     REAL hv(100)
    73     REAL hw(100)
    74     REAL hthturb(100)
    75     REAL hqturb(100)
     69    REAL ht(:)
     70    REAL hq(:)
     71    REAL hu(:)
     72    REAL hv(:)
     73    REAL hw(:)
     74    REAL hthturb(:)
     75    REAL hqturb(:)
    7676    REAL Ts, Ts_subr
    7777    LOGICAL imp_fcg
     
    142142    ! variables destinees a la lecture du pas de temps du fichier de donnees
    143143    !---------------------------------------------------------------------
    144     character*80 aaa, atemps, spaces, apasmax
     144    character*80 aaa, atemps, apasmax
    145145    INTEGER nch, imn, ipa
    146     !---------------------------------------------------------------------
    147     !  procedures appelees
    148     external rdgrads    !lire en iterant dans forcing.dat
    149146    !---------------------------------------------------------------------
    150147    PRINT*, 'le pas itap est:', itap
     
    583580
    584581    character*4 a
    585     character*80 aaa, anblvl, spaces
     582    character*80 aaa, anblvl
    586583    INTEGER nch
    587584
     
    812809    ENDIF
    813810  END
    814   CHARACTER*(*) FUNCTION SPACES(STR, NSPACE)
     811  CHARACTER*(80) FUNCTION SPACES(STR, NSPACE)
    815812
    816813    ! CERN PROGLIB# M433    SPACES          .VERSION KERNFOR  4.14  860211
     
    821818    !-    replaced by NSPACE blanks inside the string STR
    822819
    823     CHARACTER*(*) STR
    824     INTEGER nspace
     820    CHARACTER*(80) STR
     821    INTEGER nspace, IBLANK, ISPACE, INONBL, LENSPA
    825822
    826823    LENSPA = LEN(SPACES)
     
    854851
    855852    CHARACTER*(*) STR, SSTR
    856     INTEGER I
     853    INTEGER I, LENS, LENSS
    857854
    858855    LENS = LEN(STR)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_old_lmdz1d.F90

    r5117 r5128  
    22
    33MODULE lmdz_old_lmdz1d
    4   IMPLICIT NONE; PRIVATE
     4  USE lmdz_old_1dconv, ONLY: copie, get_uvd2, get_uvd, rdgrads, spaces
     5  USE lmdz_1dutils, ONLY: interp2_case_vertical, nudge_uv, nudge_rht, lstendh, nudge_uv_init, &
     6          nudge_rht_init, disvert0
     7   PRIVATE  ! -- We'd love to put IMPLICIT NONE;  here...
    58  PUBLIC old_lmdz1d
    69CONTAINS
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/lmdz_scm.F90

    r5117 r5128  
    11MODULE lmdz_scm
    2   ; PRIVATE
     2  PRIVATE  ! -- We'd love to put IMPLICIT NONE;  here...
    33  PUBLIC scm
    44CONTAINS
     
    4141            itau_dyn, itau_phy, start_time, year_len
    4242    USE phys_cal_mod, ONLY: year_len_phys_cal_mod => year_len
    43     USE lmdz_1dutils, ONLY: fq_sat, conf_unicol, dyn1deta0, dyn1dredem
     43    USE lmdz_1dutils, ONLY: fq_sat, conf_unicol, dyn1deta0, dyn1dredem, disvert0
     44
    4445    USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_OUTPUTPHYSSCM
    45     END SUBROUTINE scm
    46    
     46
    4747    INCLUDE "dimensions.h"
    4848    INCLUDE "YOMCST.h"
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/replay1d.F90

    r5119 r5128  
    8888
    8989!=======================================================================
    90 SUBROUTINE abort_gcm(modname, message, ierr)
    91   USE IOIPSL
    92   ! Stops the simulation cleanly, closing files and printing various
    93   ! comments
    94   !=======================================================================
    95 
    96   !  Input: modname = name of calling program
    97   !         message = stuff to print
    98   !         ierr    = severity of situation ( = 0 normal )
    99 
    100   CHARACTER(LEN = *) modname
    101   INTEGER ierr
    102   CHARACTER(LEN = *) message
    103 
    104   WRITE(*, *) 'in abort_gcm'
    105   CALL histclo
    106   WRITE(*, *) 'out of histclo'
    107   WRITE(*, *) 'Stopping in ', modname
    108   WRITE(*, *) 'Reason = ', message
    109   CALL getin_dump
    110 
    111   IF (ierr == 0) THEN
    112     WRITE(*, *) 'Everything is cool'
    113   else
    114     WRITE(*, *) 'Houston, we have a problem ', ierr
    115   endif
    116   STOP
    117 END
    118 
    119 !=======================================================================
    12090SUBROUTINE gr_dyn_fi(nfield, im, jm, ngrid, pdyn, pfi)
    12191  USE lmdz_ssum_scopy, ONLY: scopy
  • LMDZ6/branches/Amaury_dev/libf/phylmd/fcg_gcssold.h

    r5117 r5128  
    77
    88      common /fcg_gcssold/imp_fcg_gcssold,ts_fcg_gcssold,Tp_fcg_gcssold,        &
    9      & Tp_ini_gcssold,                                                          &
    10      & xTurb_fcg_gcssold
     9       Tp_ini_gcssold,                                                          &
     10       xTurb_fcg_gcssold
    1111
    1212!$OMP THREADPRIVATE(/fcg_gcssold/)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/fonte_neige_mod.F90

    r5117 r5128  
    1010  USE dimphy, ONLY: klon
    1111  USE indice_sol_mod
     12
    1213
    1314  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/phylmd/infotrac_phy.F90

    r5118 r5128  
    135135    USE lmdz_abort_physic, ONLY: abort_physic
    136136    USE lmdz_iniprint, ONLY: lunout, prt_level
     137
     138
    137139    IMPLICIT NONE
    138140    !==============================================================================================================================
  • LMDZ6/branches/Amaury_dev/libf/phylmd/ini_histREGDYN.h

    r5117 r5128  
    4949c TROP
    5050         CALL histdef(nid_regdyn, "hw1", "Tropics Histogram ", "%",
    51      &                kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
    52      &                "ave(X)", zstophy,zout)
     51                      kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
     52                      "ave(X)", zstophy,zout)
    5353
    5454         CALL histdef(nid_regdyn, "nh1", "Nb of pixels Tropics Histo",
    55      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    56      &                32,"ave(X)", zstophy,zout)
     55                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     56                      32,"ave(X)", zstophy,zout)
    5757c
    5858
    5959         CALL histdef(nid_regdyn, "nht1",
    60      &                "Total Nb pixels Tropics Histo",
    61      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    62      &                32,"ave(X)", zstophy,zout)
     60                      "Total Nb pixels Tropics Histo",
     61                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     62                      32,"ave(X)", zstophy,zout)
    6363c
    6464c PAN
    6565         CALL histdef(nid_regdyn, "hw2", "North Pacific Histogram", "%",
    66      &                kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
    67      &                "ave(X)", zstophy,zout)
     66                      kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
     67                      "ave(X)", zstophy,zout)
    6868
    6969         CALL histdef(nid_regdyn, "nh2", "Nb of pixels North Pacific",
    70      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    71      &                32,"ave(X)", zstophy,zout)
     70                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     71                      32,"ave(X)", zstophy,zout)
    7272c
    7373
    7474         CALL histdef(nid_regdyn, "nht2",
    75      &                "Total Nb pixels North Pacific Histo",
    76      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    77      &                32,"ave(X)", zstophy,zout)
     75                      "Total Nb pixels North Pacific Histo",
     76                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     77                      32,"ave(X)", zstophy,zout)
    7878c CAL
    7979         CALL histdef(nid_regdyn, "hw3", "California Histogram", "%",
    80      &                kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
    81      &                "ave(X)", zstophy,zout)
     80                      kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
     81                      "ave(X)", zstophy,zout)
    8282
    8383         CALL histdef(nid_regdyn, "nh3",
    84      &                "Nb of pixels California Histo",
    85      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    86      &                32,"ave(X)", zstophy,zout)
     84                      "Nb of pixels California Histo",
     85                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     86                      32,"ave(X)", zstophy,zout)
    8787c
    8888
    8989         CALL histdef(nid_regdyn, "nht3",
    90      &                "Total Nb pixels California Histo",
    91      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    92      &                32,"ave(X)", zstophy,zout)
     90                      "Total Nb pixels California Histo",
     91                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     92                      32,"ave(X)", zstophy,zout)
    9393c HAW
    9494         CALL histdef(nid_regdyn, "hw4", "Hawai Histogram", "%",
    95      &                kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
    96      &                "ave(X)", zstophy,zout)
     95                      kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
     96                      "ave(X)", zstophy,zout)
    9797
    9898         CALL histdef(nid_regdyn, "nh4", "Nb of pixels Hawai Histo",
    99      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    100      &                32,"ave(X)", zstophy,zout)
     99                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     100                      32,"ave(X)", zstophy,zout)
    101101c
    102102
    103103         CALL histdef(nid_regdyn, "nht4",
    104      &                "Total Nb pixels Hawai Histo",
    105      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    106      &                32,"ave(X)", zstophy,zout)
     104                      "Total Nb pixels Hawai Histo",
     105                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     106                      32,"ave(X)", zstophy,zout)
    107107c WAP
    108108         CALL histdef(nid_regdyn, "hw5", "Warm Pool Histogram", "%",
    109      &                kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
    110      &                "ave(X)", zstophy,zout)
     109                      kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega, 32,
     110                      "ave(X)", zstophy,zout)
    111111
    112112         CALL histdef(nid_regdyn, "nh5", "Nb of pixels Warm Pool Histo",
    113      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    114      &                32,"ave(X)", zstophy,zout)
     113                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     114                      32,"ave(X)", zstophy,zout)
    115115c
    116116
    117117         CALL histdef(nid_regdyn, "nht5",
    118      &                "Total Nb pixels Warm Pool Histo",
    119      &                "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
    120      &                32,"ave(X)", zstophy,zout)
     118                      "Total Nb pixels Warm Pool Histo",
     119                      "%",kmaxm1,lmaxm1,nhoriRD, iwmax,1,iwmax, komega,
     120                      32,"ave(X)", zstophy,zout)
    121121c
    122122         CALL histend(nid_regdyn)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/sisvat_qso.f90

    r5117 r5128  
    533533      ist    =   isotSV(ikl)                   ! Soil Type
    534534      SatRat =  (eta_SV(ikl,isl)-etadSV(ist)) & ! OverSaturation Rate
    535             *ro_Wat         *dzAvSV(isl) & !
    536             *LSdzsv(ikl) & !
    537             /dt__SV        !
    538       SoRnOF(ikl)     =          SoRnOF(ikl) & !
    539             + max(zero,SatRat)       !
    540       RuofSV(ikl,3)   = RuofSV(ikl,3) + &
    541             + max(zero,SatRat)
     535            *ro_Wat         *dzAvSV(isl) &
     536            *LSdzsv(ikl) &
     537            /dt__SV
     538      SoRnOF(ikl)     = SoRnOF(ikl) + max(zero,SatRat)
     539      RuofSV(ikl,3)   = RuofSV(ikl,3) + max(zero,SatRat)
    542540      eta_SV(ikl,isl) = max(epsi & !
    543541  ! #ED.                         +etamSV(isotSV(ikl))!
  • LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/surf_inlandsis_mod.F90

    r5117 r5128  
    783783        min_period = 1800. ! en secondes
    784784        dalph_soil = 2.    ! rapport entre les epaisseurs de 2 couches succ.
    785         !$OMP MASTER
     785        !!! !$OMP MASTER
    786786        !     IF (is_mpi_root) THEN
    787787        !        OPEN(99,file='soil.def',status='old',form='formatted',iostat=ierr)
     
    795795        !        END IF
    796796        !     ENDIF
    797         !$OMP END MASTER
     797        !!! !$OMP END MASTER
    798798        !     CALL bcast(min_period)
    799799        !     CALL bcast(dalph_soil)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_simu_airs.f90

    r5127 r5128  
    1 module m_simu_airs
     1module lmdz_simu_airs
    22
    33  USE lmdz_print_control, ONLY: prt_level, lunout
     
    10971097  END SUBROUTINE  test_bornes
    10981098
    1099 END MODULE m_simu_airs
    1100 
    1101 
    1102 SUBROUTINE simu_airs &
    1103         (itap, rneb_airs, temp_airs, cldemi_airs, iwcon0_airs, rad_airs, &
    1104         geop_airs, pplay_airs, paprs_airs, &
    1105         map_prop_hc, map_prop_hist, &
    1106         map_emis_hc, map_iwp_hc, map_deltaz_hc, map_pcld_hc, map_tcld_hc, &
    1107         map_emis_Cb, map_pcld_Cb, map_tcld_Cb, &
    1108         map_emis_ThCi, map_pcld_ThCi, map_tcld_ThCi, &
    1109         map_emis_Anv, map_pcld_Anv, map_tcld_Anv, &
    1110         map_emis_hist, map_iwp_hist, map_deltaz_hist, map_rad_hist, &
    1111         map_ntot, map_hc, map_hist, &
    1112         map_Cb, map_ThCi, map_Anv, alt_tropo)
    1113 
    1114   USE dimphy
    1115   USE m_simu_airs
    1116 
    1117   IMPLICIT NONE
    1118 
    1119   include "YOMCST.h"
    1120 
    1121   INTEGER, INTENT(IN) :: itap
    1122 
    1123   REAL, DIMENSION(klon, klev), INTENT(IN) :: &
    1124           rneb_airs, temp_airs, cldemi_airs, iwcon0_airs, &
    1125           rad_airs, geop_airs, pplay_airs, paprs_airs
    1126 
    1127   REAL, DIMENSION(klon, klev) :: &
    1128           rhodz_airs, rho_airs, iwcon_airs
    1129 
    1130   REAL, DIMENSION(klon), INTENT(OUT) :: alt_tropo
    1131 
    1132   REAL, DIMENSION(klev) :: rneb_1D, temp_1D, &
    1133           emis_1D, rad_1D, pres_1D, alt_1D, &
    1134           rhodz_1D, dz_1D, iwcon_1D
    1135 
    1136   INTEGER :: i, j
    1137 
    1138   REAL :: cc_tot_mesh, cc_hc_mesh, cc_hist_mesh
    1139   REAL :: cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh
    1140   REAL :: pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh
    1141   REAL :: em_hist_mesh, iwp_hist_mesh
    1142   REAL :: deltaz_hc_mesh, deltaz_hist_mesh, rad_hist_mesh
    1143   REAL :: pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh
    1144   REAL :: pcld_ThCi_mesh, tcld_ThCi_mesh, em_ThCi_mesh
    1145   REAL :: pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh
    1146 
    1147   REAL, DIMENSION(klon), INTENT(OUT) :: map_prop_hc, map_prop_hist
    1148   REAL, DIMENSION(klon), INTENT(OUT) :: map_emis_hc, map_iwp_hc
    1149   REAL, DIMENSION(klon), INTENT(OUT) :: map_deltaz_hc, map_pcld_hc
    1150   REAL, DIMENSION(klon), INTENT(OUT) :: map_tcld_hc
    1151   REAL, DIMENSION(klon), INTENT(OUT) :: map_emis_Cb, map_pcld_Cb, map_tcld_Cb
    1152   REAL, DIMENSION(klon), INTENT(OUT) :: &
    1153           map_emis_ThCi, map_pcld_ThCi, map_tcld_ThCi
    1154   REAL, DIMENSION(klon), INTENT(OUT) :: &
    1155           map_emis_Anv, map_pcld_Anv, map_tcld_Anv
    1156   REAL, DIMENSION(klon), INTENT(OUT) :: &
    1157           map_emis_hist, map_iwp_hist, map_deltaz_hist, &
    1158           map_rad_hist
    1159   REAL, DIMENSION(klon), INTENT(OUT) :: map_ntot, map_hc, map_hist
    1160   REAL, DIMENSION(klon), INTENT(OUT) :: map_Cb, map_ThCi, map_Anv
    1161 
    1162   WRITE(*, *) 'simu_airs'
    1163   WRITE(*, *) 'itap, klon, klev', itap, klon, klev
    1164   WRITE(*, *) 'RG, RD =', RG, RD
    1165 
    1166 
    1167   ! Definition des variables 1D
    1168 
    1169   do i = 1, klon
    1170     do j = 1, klev - 1
    1171       rhodz_airs(i, j) = &
    1172               (paprs_airs(i, j) - paprs_airs(i, j + 1)) / RG
    1173     enddo
    1174     rhodz_airs(i, klev) = 0.
    1175   enddo
    1176 
    1177   do i = 1, klon
    1178     do j = 1, klev
    1179       rho_airs(i, j) = &
    1180               pplay_airs(i, j) / (temp_airs(i, j) * RD)
    1181 
    1182       IF (rneb_airs(i, j) > 0.001) THEN
    1183         iwcon_airs(i, j) = iwcon0_airs(i, j) / rneb_airs(i, j)
    1184       else
    1185         iwcon_airs(i, j) = 0.
    1186       endif
    1187 
    1188     enddo
    1189   enddo
    1190 
    1191   !=============================================================================
    1192 
    1193   do i = 1, klon  ! boucle sur les points de grille
     1099
     1100  SUBROUTINE simu_airs &
     1101          (itap, rneb_airs, temp_airs, cldemi_airs, iwcon0_airs, rad_airs, &
     1102          geop_airs, pplay_airs, paprs_airs, &
     1103          map_prop_hc, map_prop_hist, &
     1104          map_emis_hc, map_iwp_hc, map_deltaz_hc, map_pcld_hc, map_tcld_hc, &
     1105          map_emis_Cb, map_pcld_Cb, map_tcld_Cb, &
     1106          map_emis_ThCi, map_pcld_ThCi, map_tcld_ThCi, &
     1107          map_emis_Anv, map_pcld_Anv, map_tcld_Anv, &
     1108          map_emis_hist, map_iwp_hist, map_deltaz_hist, map_rad_hist, &
     1109          map_ntot, map_hc, map_hist, &
     1110          map_Cb, map_ThCi, map_Anv, alt_tropo)
     1111
     1112    USE dimphy
     1113
     1114    IMPLICIT NONE
     1115
     1116    include "YOMCST.h"
     1117
     1118    INTEGER, INTENT(IN) :: itap
     1119
     1120    REAL, DIMENSION(klon, klev), INTENT(IN) :: &
     1121            rneb_airs, temp_airs, cldemi_airs, iwcon0_airs, &
     1122            rad_airs, geop_airs, pplay_airs, paprs_airs
     1123
     1124    REAL, DIMENSION(klon, klev) :: &
     1125            rhodz_airs, rho_airs, iwcon_airs
     1126
     1127    REAL, DIMENSION(klon), INTENT(OUT) :: alt_tropo
     1128
     1129    REAL, DIMENSION(klev) :: rneb_1D, temp_1D, &
     1130            emis_1D, rad_1D, pres_1D, alt_1D, &
     1131            rhodz_1D, dz_1D, iwcon_1D
     1132
     1133    INTEGER :: i, j
     1134
     1135    REAL :: cc_tot_mesh, cc_hc_mesh, cc_hist_mesh
     1136    REAL :: cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh
     1137    REAL :: pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh
     1138    REAL :: em_hist_mesh, iwp_hist_mesh
     1139    REAL :: deltaz_hc_mesh, deltaz_hist_mesh, rad_hist_mesh
     1140    REAL :: pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh
     1141    REAL :: pcld_ThCi_mesh, tcld_ThCi_mesh, em_ThCi_mesh
     1142    REAL :: pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh
     1143
     1144    REAL, DIMENSION(klon), INTENT(OUT) :: map_prop_hc, map_prop_hist
     1145    REAL, DIMENSION(klon), INTENT(OUT) :: map_emis_hc, map_iwp_hc
     1146    REAL, DIMENSION(klon), INTENT(OUT) :: map_deltaz_hc, map_pcld_hc
     1147    REAL, DIMENSION(klon), INTENT(OUT) :: map_tcld_hc
     1148    REAL, DIMENSION(klon), INTENT(OUT) :: map_emis_Cb, map_pcld_Cb, map_tcld_Cb
     1149    REAL, DIMENSION(klon), INTENT(OUT) :: &
     1150            map_emis_ThCi, map_pcld_ThCi, map_tcld_ThCi
     1151    REAL, DIMENSION(klon), INTENT(OUT) :: &
     1152            map_emis_Anv, map_pcld_Anv, map_tcld_Anv
     1153    REAL, DIMENSION(klon), INTENT(OUT) :: &
     1154            map_emis_hist, map_iwp_hist, map_deltaz_hist, &
     1155            map_rad_hist
     1156    REAL, DIMENSION(klon), INTENT(OUT) :: map_ntot, map_hc, map_hist
     1157    REAL, DIMENSION(klon), INTENT(OUT) :: map_Cb, map_ThCi, map_Anv
     1158
     1159    WRITE(*, *) 'simu_airs'
     1160    WRITE(*, *) 'itap, klon, klev', itap, klon, klev
     1161    WRITE(*, *) 'RG, RD =', RG, RD
     1162
     1163
     1164    ! Definition des variables 1D
     1165
     1166    do i = 1, klon
     1167      do j = 1, klev - 1
     1168        rhodz_airs(i, j) = &
     1169                (paprs_airs(i, j) - paprs_airs(i, j + 1)) / RG
     1170      enddo
     1171      rhodz_airs(i, klev) = 0.
     1172    enddo
     1173
     1174    do i = 1, klon
     1175      do j = 1, klev
     1176        rho_airs(i, j) = &
     1177                pplay_airs(i, j) / (temp_airs(i, j) * RD)
     1178
     1179        IF (rneb_airs(i, j) > 0.001) THEN
     1180          iwcon_airs(i, j) = iwcon0_airs(i, j) / rneb_airs(i, j)
     1181        else
     1182          iwcon_airs(i, j) = 0.
     1183        endif
     1184
     1185      enddo
     1186    enddo
    11941187
    11951188    !=============================================================================
    11961189
    1197     do j = 1, klev
    1198 
    1199       rneb_1D(j) = rneb_airs(i, j)
    1200       temp_1D(j) = temp_airs(i, j)
    1201       emis_1D(j) = cldemi_airs(i, j)
    1202       iwcon_1D(j) = iwcon_airs(i, j)
    1203       rad_1D(j) = rad_airs(i, j)
    1204       pres_1D(j) = pplay_airs(i, j)
    1205       alt_1D(j) = geop_airs(i, j) / RG
    1206       rhodz_1D(j) = rhodz_airs(i, j)
    1207       dz_1D(j) = rhodz_airs(i, j) / rho_airs(i, j)
    1208 
    1209     enddo
    1210 
    1211     alt_tropo(i) = &
    1212             search_tropopause(pres_1D / 100., temp_1D, alt_1D, klev)
    1213 
    1214 
    1215     ! Appel du ss-programme sim_mesh
    1216 
    1217     !        if (itap .EQ. 1 ) THEN
    1218     CALL sim_mesh(rneb_1D, temp_1D, emis_1D, iwcon_1D, rad_1D, &
    1219             pres_1D, dz_1D, rhodz_1D, &
    1220             cc_tot_mesh, cc_hc_mesh, cc_hist_mesh, &
    1221             pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh, &
    1222             deltaz_hc_mesh, &
    1223             cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh, &
    1224             pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh, &
    1225             pcld_ThCi_mesh, tcld_ThCi_mesh, em_ThCi_mesh, &
    1226             pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh, &
    1227             em_hist_mesh, iwp_hist_mesh, deltaz_hist_mesh, rad_hist_mesh)
    1228 
    1229     WRITE(*, *) '===================================='
    1230     WRITE(*, *) 'itap, i:', itap, i
    1231     WRITE(*, *) 'cc_tot, cc_hc, cc_hist, pcld_hc, tcld_hc, em_hc, &
    1232             iwp_hc, em_hist, iwp_hist ='
    1233     WRITE(*, *) cc_tot_mesh, cc_hc_mesh, cc_hist_mesh
    1234     WRITE(*, *) pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh
    1235     WRITE(*, *)  em_hist_mesh, iwp_hist_mesh
    1236 
    1237     !        endif
    1238 
    1239     ! Definition des variables a ecrire dans le fichier de sortie
    1240 
    1241     CALL normal2_undef(map_prop_hc(i), cc_hc_mesh, &
    1242             cc_tot_mesh)
    1243     CALL normal2_undef(map_prop_hist(i), cc_hist_mesh, &
    1244             cc_tot_mesh)
    1245 
    1246     map_emis_hc(i) = em_hc_mesh
    1247     map_iwp_hc(i) = iwp_hc_mesh
    1248     map_deltaz_hc(i) = deltaz_hc_mesh
    1249     map_pcld_hc(i) = pcld_hc_mesh
    1250     map_tcld_hc(i) = tcld_hc_mesh
    1251 
    1252     map_emis_Cb(i) = em_Cb_mesh
    1253     map_pcld_Cb(i) = pcld_Cb_mesh
    1254     map_tcld_Cb(i) = tcld_Cb_mesh
    1255 
    1256     map_emis_ThCi(i) = em_ThCi_mesh
    1257     map_pcld_ThCi(i) = pcld_ThCi_mesh
    1258     map_tcld_ThCi(i) = tcld_ThCi_mesh
    1259 
    1260     map_emis_Anv(i) = em_Anv_mesh
    1261     map_pcld_Anv(i) = pcld_Anv_mesh
    1262     map_tcld_Anv(i) = tcld_Anv_mesh
    1263 
    1264     map_emis_hist(i) = em_hist_mesh
    1265     map_iwp_hist(i) = iwp_hist_mesh
    1266     map_deltaz_hist(i) = deltaz_hist_mesh
    1267     map_rad_hist(i) = rad_hist_mesh
    1268 
    1269     map_ntot(i) = cc_tot_mesh
    1270     map_hc(i) = cc_hc_mesh
    1271     map_hist(i) = cc_hist_mesh
    1272 
    1273     map_Cb(i) = cc_Cb_mesh
    1274     map_ThCi(i) = cc_ThCi_mesh
    1275     map_Anv(i) = cc_Anv_mesh
    1276 
    1277   enddo         ! fin boucle sur les points de grille
    1278 
    1279 END SUBROUTINE  simu_airs
    1280 
     1190    do i = 1, klon  ! boucle sur les points de grille
     1191
     1192      !=============================================================================
     1193
     1194      do j = 1, klev
     1195
     1196        rneb_1D(j) = rneb_airs(i, j)
     1197        temp_1D(j) = temp_airs(i, j)
     1198        emis_1D(j) = cldemi_airs(i, j)
     1199        iwcon_1D(j) = iwcon_airs(i, j)
     1200        rad_1D(j) = rad_airs(i, j)
     1201        pres_1D(j) = pplay_airs(i, j)
     1202        alt_1D(j) = geop_airs(i, j) / RG
     1203        rhodz_1D(j) = rhodz_airs(i, j)
     1204        dz_1D(j) = rhodz_airs(i, j) / rho_airs(i, j)
     1205
     1206      enddo
     1207
     1208      alt_tropo(i) = &
     1209              search_tropopause(pres_1D / 100., temp_1D, alt_1D, klev)
     1210
     1211
     1212      ! Appel du ss-programme sim_mesh
     1213
     1214      !        if (itap .EQ. 1 ) THEN
     1215      CALL sim_mesh(rneb_1D, temp_1D, emis_1D, iwcon_1D, rad_1D, &
     1216              pres_1D, dz_1D, rhodz_1D, &
     1217              cc_tot_mesh, cc_hc_mesh, cc_hist_mesh, &
     1218              pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh, &
     1219              deltaz_hc_mesh, &
     1220              cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh, &
     1221              pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh, &
     1222              pcld_ThCi_mesh, tcld_ThCi_mesh, em_ThCi_mesh, &
     1223              pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh, &
     1224              em_hist_mesh, iwp_hist_mesh, deltaz_hist_mesh, rad_hist_mesh)
     1225
     1226      WRITE(*, *) '===================================='
     1227      WRITE(*, *) 'itap, i:', itap, i
     1228      WRITE(*, *) 'cc_tot, cc_hc, cc_hist, pcld_hc, tcld_hc, em_hc, &
     1229              iwp_hc, em_hist, iwp_hist ='
     1230      WRITE(*, *) cc_tot_mesh, cc_hc_mesh, cc_hist_mesh
     1231      WRITE(*, *) pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh
     1232      WRITE(*, *)  em_hist_mesh, iwp_hist_mesh
     1233
     1234      !        endif
     1235
     1236      ! Definition des variables a ecrire dans le fichier de sortie
     1237
     1238      CALL normal2_undef(map_prop_hc(i), cc_hc_mesh, &
     1239              cc_tot_mesh)
     1240      CALL normal2_undef(map_prop_hist(i), cc_hist_mesh, &
     1241              cc_tot_mesh)
     1242
     1243      map_emis_hc(i) = em_hc_mesh
     1244      map_iwp_hc(i) = iwp_hc_mesh
     1245      map_deltaz_hc(i) = deltaz_hc_mesh
     1246      map_pcld_hc(i) = pcld_hc_mesh
     1247      map_tcld_hc(i) = tcld_hc_mesh
     1248
     1249      map_emis_Cb(i) = em_Cb_mesh
     1250      map_pcld_Cb(i) = pcld_Cb_mesh
     1251      map_tcld_Cb(i) = tcld_Cb_mesh
     1252
     1253      map_emis_ThCi(i) = em_ThCi_mesh
     1254      map_pcld_ThCi(i) = pcld_ThCi_mesh
     1255      map_tcld_ThCi(i) = tcld_ThCi_mesh
     1256
     1257      map_emis_Anv(i) = em_Anv_mesh
     1258      map_pcld_Anv(i) = pcld_Anv_mesh
     1259      map_tcld_Anv(i) = tcld_Anv_mesh
     1260
     1261      map_emis_hist(i) = em_hist_mesh
     1262      map_iwp_hist(i) = iwp_hist_mesh
     1263      map_deltaz_hist(i) = deltaz_hist_mesh
     1264      map_rad_hist(i) = rad_hist_mesh
     1265
     1266      map_ntot(i) = cc_tot_mesh
     1267      map_hc(i) = cc_hc_mesh
     1268      map_hist(i) = cc_hist_mesh
     1269
     1270      map_Cb(i) = cc_Cb_mesh
     1271      map_ThCi(i) = cc_ThCi_mesh
     1272      map_Anv(i) = cc_Anv_mesh
     1273
     1274    enddo         ! fin boucle sur les points de grille
     1275
     1276  END SUBROUTINE  simu_airs
     1277
     1278
     1279END MODULE lmdz_simu_airs
     1280
  • LMDZ6/branches/Amaury_dev/libf/phylmd/mod_synchro_omp.F90

    r5111 r5128  
    99  SUBROUTINE Init_synchro_omp
    1010    USE lmdz_phys_para
    11     USE lmdz_abort_physic, ONLY: abort_physic
    1211    IMPLICIT NONE
    1312
     
    2221  SUBROUTINE Synchro_omp
    2322    USE lmdz_phys_para
     23    USE lmdz_abort_physic, ONLY: abort_physic
    2424    IMPLICIT NONE
    2525    LOGICAL :: out
  • LMDZ6/branches/Amaury_dev/libf/phylmd/nuage.h

    r5099 r5128  
    99
    1010      common /nuagecom/ rad_froid,rad_chau1, rad_chau2,                 &
    11      &                  tau_cld_cv,coefw_cld_cv,                        &
    12      &                  tmax_fonte_cv,iflag_ratqs,                      &
    13      &                  iflag_cld_cv,                                   &
    14      &                  ok_icefra_lscp                                 
     11                        tau_cld_cv,coefw_cld_cv,                        &
     12                        tmax_fonte_cv,iflag_ratqs,                      &
     13                        iflag_cld_cv,                                   &
     14                        ok_icefra_lscp
    1515!$OMP THREADPRIVATE(/nuagecom/)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/pbl_surface_mod.F90

    r5123 r5128  
    3232  USE config_ocean_skin_m, ONLY: activate_ocean_skin
    3333  USE lmdz_abort_physic, ONLY: abort_physic
     34
    3435#ifdef ISO
    3536  USE infotrac_phy, ONLY: niso,ntraciso=>ntiso
  • LMDZ6/branches/Amaury_dev/libf/phylmd/physiq_mod.F90

    r5117 r5128  
    349349            reffclwc, cldnvi, lcc3d, lcc3dcon, lcc3dstra, icc3dcon, icc3dstra
    350350    USE output_physiqex_mod, ONLY: output_physiqex
     351    USE lmdz_simu_airs, ONLY: simu_airs
    351352
    352353    IMPLICIT NONE
     
    600601
    601602    !      REAL,ALLOCATABLE,save :: run_off_lic_0(:)
    602     !$OMP THREADPRIVATE(run_off_lic_0)
     603    !!! !$OMP THREADPRIVATE(run_off_lic_0)
    603604    !ym      SAVE run_off_lic_0
    604605    !KE43
  • LMDZ6/branches/Amaury_dev/libf/phylmd/surf_landice_mod.F90

    r5123 r5128  
    11MODULE surf_landice_mod
     2
    23
    34  IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/phylmd/tsoilnudge.h

    r5117 r5128  
    44
    55      common /tsoilnudge/ nudge_tsoil, isoil_nudge, Tsoil_nudge,        &
    6      &                   tau_soil_nudge
     6                         tau_soil_nudge
    77
  • LMDZ6/branches/Amaury_dev/libf/phylmd/write_histREGDYN.h

    r5117 r5128  
    22! $Header$
    33
    4       IF (ok_regdyn) THEN
    5       IF (is_sequential) THEN
    6       ndex3d = 0
    7       itau_w = itau_phy + itap + start_time * day_step / iphysiq
    8 c
    9        CALL histwrite(nid_regdyn,"hw1",itau_w,histoW(:,:,:,1),
    10      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    11 c
    12        CALL histwrite(nid_regdyn,"nh1",itau_w,nhistoW(:,:,:,1),
    13      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    14 c
    15        CALL histwrite(nid_regdyn,"nht1",itau_w,nhistoWt(:,:,:,1),
    16      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    17 c
    18        CALL histwrite(nid_regdyn,"hw2",itau_w,histoW(:,:,:,2),
    19      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    20 c
    21        CALL histwrite(nid_regdyn,"nh2",itau_w,nhistoW(:,:,:,2),
    22      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    23 c
    24        CALL histwrite(nid_regdyn,"nht2",itau_w,nhistoWt(:,:,:,2),
    25      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    26 c
    27        CALL histwrite(nid_regdyn,"hw3",itau_w,histoW(:,:,:,3),
    28      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    29 c
    30        CALL histwrite(nid_regdyn,"nh3",itau_w,nhistoW(:,:,:,3),
    31      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    32 c
    33        CALL histwrite(nid_regdyn,"nht3",itau_w,nhistoWt(:,:,:,3),
    34      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    35 c
    36        CALL histwrite(nid_regdyn,"hw4",itau_w,histoW(:,:,:,4),
    37      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    38 c
    39        CALL histwrite(nid_regdyn,"nh4",itau_w,nhistoW(:,:,:,4),
    40      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    41 c
    42        CALL histwrite(nid_regdyn,"nht4",itau_w,nhistoWt(:,:,:,4),
    43      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    44 c
    45        CALL histwrite(nid_regdyn,"hw5",itau_w,histoW(:,:,:,5),
    46      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    47 c
    48        CALL histwrite(nid_regdyn,"nh5",itau_w,nhistoW(:,:,:,5),
    49      &               kmaxm1*lmaxm1*iwmax,ndex3d)
    50 c
    51        CALL histwrite(nid_regdyn,"nht5",itau_w,nhistoWt(:,:,:,5),
    52      &               kmaxm1*lmaxm1*iwmax,ndex3d)
     4IF (ok_regdyn) THEN
     5IF (is_sequential) THEN
     6ndex3d = 0
     7itau_w = itau_phy + itap + start_time * day_step / iphysiq
     8!
     9 CALL histwrite(nid_regdyn,"hw1",itau_w,histoW(:,:,:,1), &
     10       kmaxm1*lmaxm1*iwmax,ndex3d)
     11!
     12 CALL histwrite(nid_regdyn,"nh1",itau_w,nhistoW(:,:,:,1), &
     13       kmaxm1*lmaxm1*iwmax,ndex3d)
     14!
     15 CALL histwrite(nid_regdyn,"nht1",itau_w,nhistoWt(:,:,:,1), &
     16       kmaxm1*lmaxm1*iwmax,ndex3d)
     17!
     18 CALL histwrite(nid_regdyn,"hw2",itau_w,histoW(:,:,:,2), &
     19       kmaxm1*lmaxm1*iwmax,ndex3d)
     20!
     21 CALL histwrite(nid_regdyn,"nh2",itau_w,nhistoW(:,:,:,2), &
     22       kmaxm1*lmaxm1*iwmax,ndex3d)
     23!
     24 CALL histwrite(nid_regdyn,"nht2",itau_w,nhistoWt(:,:,:,2), &
     25       kmaxm1*lmaxm1*iwmax,ndex3d)
     26!
     27 CALL histwrite(nid_regdyn,"hw3",itau_w,histoW(:,:,:,3), &
     28       kmaxm1*lmaxm1*iwmax,ndex3d)
     29!
     30 CALL histwrite(nid_regdyn,"nh3",itau_w,nhistoW(:,:,:,3), &
     31       kmaxm1*lmaxm1*iwmax,ndex3d)
     32!
     33 CALL histwrite(nid_regdyn,"nht3",itau_w,nhistoWt(:,:,:,3), &
     34       kmaxm1*lmaxm1*iwmax,ndex3d)
     35!
     36 CALL histwrite(nid_regdyn,"hw4",itau_w,histoW(:,:,:,4), &
     37       kmaxm1*lmaxm1*iwmax,ndex3d)
     38!
     39 CALL histwrite(nid_regdyn,"nh4",itau_w,nhistoW(:,:,:,4), &
     40       kmaxm1*lmaxm1*iwmax,ndex3d)
     41!
     42 CALL histwrite(nid_regdyn,"nht4",itau_w,nhistoWt(:,:,:,4), &
     43       kmaxm1*lmaxm1*iwmax,ndex3d)
     44!
     45 CALL histwrite(nid_regdyn,"hw5",itau_w,histoW(:,:,:,5), &
     46       kmaxm1*lmaxm1*iwmax,ndex3d)
     47!
     48 CALL histwrite(nid_regdyn,"nh5",itau_w,nhistoW(:,:,:,5), &
     49       kmaxm1*lmaxm1*iwmax,ndex3d)
     50!
     51 CALL histwrite(nid_regdyn,"nht5",itau_w,nhistoWt(:,:,:,5), &
     52       kmaxm1*lmaxm1*iwmax,ndex3d)
    5353
    54       IF (ok_sync) THEN
    55         CALL histsync(nid_regdyn)
    56       endif
     54IF (ok_sync) THEN
     55  CALL histsync(nid_regdyn)
     56endif
    5757
    58       endif ! is_sequential
     58endif ! is_sequential
    5959
    60       endif
     60endif
Note: See TracChangeset for help on using the changeset viewer.