Ignore:
Timestamp:
Jul 20, 2024, 12:00:23 PM (6 months ago)
Author:
abarral
Message:

remove fixed-form \s+& remaining in .f90,.F90

Location:
LMDZ6/branches/Amaury_dev/libf/phylmd
Files:
80 edited

Legend:

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

    r5082 r5087  
    822822              xk=solspe(ns,npi)/(sqrt(2.*pi)*log(solspe(ns,nsi)))
    823823              xl=((log(sizeclass(i))-log(solspe(ns,nd)))**2) &
    824      &              /(2.*(log(solspe(ns,nsi)))**2)
     824                /(2.*(log(solspe(ns,nsi)))**2)
    825825              xm=xk*exp(-xl)
    826826              xn=rop*(2./3.)*(sizeclass(i)/2.)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/Dust/read_surface.F90

    r5075 r5087  
    124124           if (isinversed) then
    125125                        call gr_dyn_fi(1, nbp_lon+1, nbp_lat, klon_glo, &
    126      & tmp_dyn_invers_glo, tmp_fi_glo)
     126   tmp_dyn_invers_glo, tmp_fi_glo)
    127127!              call gr_dyn_fi(1, iip1, jjp1, klon, tmp_dyn_invers, tmp_fi)
    128128!              call gr_dyn_fi_p(1, iip1, jjp1, klon, tmp_dyn_invers, tmp_fi)
    129129           else     
    130130                        call gr_dyn_fi(1, nbp_lon+1, nbp_lat, klon_glo, &
    131      &   tmp_dyn_glo, tmp_fi_glo)
     131     tmp_dyn_glo, tmp_fi_glo)
    132132!              call gr_dyn_fi(1, iip1, jjp1, klon, tmp_dyn, tmp_fi)
    133133!              call gr_dyn_fi_p(1, iip1, jjp1, klon, tmp_dyn, tmp_fi)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/aer_sedimnt.F90

    r5082 r5087  
    122122    !compute budg_sed_part as sum over bins in kg(S)/m2/s
    123123    budg_sed_part(JL)=budg_sed_part(JL)+ZRHO*ZAERONWM1(JL,nb)*ZVAER(JL,1,nb)*(mSatom/mH2SO4mol) &
    124                 & *dens_aer_dry*4./3.*RPI*(mdw(nb)/2.)**3
     124   *dens_aer_dry*4./3.*RPI*(mdw(nb)/2.)**3
    125125  ENDDO
    126126ENDDO
  • LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/coagulate.F90

    r5082 r5087  
    197197  DO i=1, nbtr_bin
    198198      delta(i)=((2.*radiuswet(i)+mfppar(i))**3.-(4.*radiuswet(i)**2.+mfppar(i)**2.)**1.5)/ &
    199            & (6.*radiuswet(i)*mfppar(i))-2.*radiuswet(i)
     199   (6.*radiuswet(i)*mfppar(i))-2.*radiuswet(i)
    200200  ENDDO
    201201
     
    208208     num=4.*RPI*(radiuswet(i)+radiuswet(j))*(Di(i)+Di(j))
    209209     denom=(radiuswet(i)+radiuswet(j))/(radiuswet(i)+radiuswet(j)+sqrt(delta(i)**2.+delta(j)**2.))+ &
    210           & 4.*(Di(i)+Di(j))/(sqrt(thvelpar(i)**2.+thvelpar(j)**2.)*(radiuswet(i)+radiuswet(j)))
     210   4.*(Di(i)+Di(j))/(sqrt(thvelpar(i)**2.+thvelpar(j)**2.)*(radiuswet(i)+radiuswet(j)))
    211211     beta(i,j)=num/denom
    212212!
  • LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/cond_evap_tstep_mod.F90

    r5081 r5087  
    1010
    1111      SUBROUTINE condens_evapor_rate_kelvin(R2SO4G,t_seri,pplay,R2SO4, &
    12           & DENSO4,f_r_wet,R2SO4ik,DENSO4ik,f_r_wetik,FL,ASO4,DNDR)
     12   DENSO4,f_r_wet,R2SO4ik,DENSO4ik,f_r_wetik,FL,ASO4,DNDR)
    1313!
    1414!     INPUT:
     
    140140!       SENFELD
    141141        FL(IK)=FL1*RRSI_wet(IK)**2*( 1.0 +RKNUD ) &
    142      &     /( 1.0 +ALPHA/(2.0*RKNUD) +RKNUD )
     142       /( 1.0 +ALPHA/(2.0*RKNUD) +RKNUD )
    143143!       TURCO
    144144!        RL= (4.0/3.0 +0.71/RKNUD)/(1.0+1.0/RKNUD)
     
    166166!********************************************************************
    167167      SUBROUTINE condens_evapor_rate(R2SO4G,t_seri,pplay,ACTSO4,R2SO4, &
    168                    & DENSO4,f_r_wet,FL,ASO4,DNDR)
     168   DENSO4,f_r_wet,FL,ASO4,DNDR)
    169169!
    170170!     INPUT:
     
    263263!       SENFELD
    264264        FL(IK)=FL1*RRSI_wet(IK)**2*( 1.0 +RKNUD ) &
    265      &     /( 1.0 +ALPHA/(2.0*RKNUD) +RKNUD )
     265       /( 1.0 +ALPHA/(2.0*RKNUD) +RKNUD )
    266266!       TURCO
    267267!        RL= (4.0/3.0 +0.71/RKNUD)/(1.0+1.0/RKNUD)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/micphy_tstep.F90

    r5082 r5087  
    5151  !coefficients for H2SO4 density parametrization used for nucleation if ntot<4
    5252  a_xm = 0.7681724 + 1.*(2.1847140 + 1.*(7.1630022 + 1.*(-44.31447 + &
    53        & 1.*(88.75606 + 1.*(-75.73729 + 1.*23.43228)))))
     53   1.*(88.75606 + 1.*(-75.73729 + 1.*23.43228)))))
    5454  b_xm = 1.808225e-3 + 1.*(-9.294656e-3 + 1.*(-0.03742148 + 1.*(0.2565321 + &
    55        & 1.*(-0.5362872 + 1.*(0.4857736 - 1.*0.1629592)))))
     55   1.*(-0.5362872 + 1.*(0.4857736 - 1.*0.1629592)))))
    5656  c_xm = -3.478524e-6 + 1.*(1.335867e-5 + 1.*(5.195706e-5 + 1.*(-3.717636e-4 + &
    57        & 1.*(7.990811e-4 + 1.*(-7.458060e-4 + 1.*2.58139e-4 )))))
     57   1.*(7.990811e-4 + 1.*(-7.458060e-4 + 1.*2.58139e-4 )))))
    5858
    5959  IF(.not.flag_new_strat_compo) THEN
     
    8585      ! convert tr_seri(GASH2SO4) (in kg/kgA) to H2SO4 number density (in molecules/cm3)
    8686      rhoa=tr_seri(ilon,ilev,id_H2SO4_strat) &
    87           & *pplay(ilon,ilev)/t_seri(ilon,ilev)/RD/1.E6/mH2SO4mol
     87   *pplay(ilon,ilev)/t_seri(ilon,ilev)/RD/1.E6/mH2SO4mol
    8888      ! compute nucleation rate in kg(H2SO4)/kgA/s
    8989      CALL nucleation_rate(rhoa,t_seri(ilon,ilev),pplay(ilon,ilev),rh(ilon,ilev), &
    90            & a_xm,b_xm,c_xm,nucl_rate,ntot,x)
     90   a_xm,b_xm,c_xm,nucl_rate,ntot,x)
    9191      !NL - add nucleation box (if flag on)
    9292      IF (flag_nuc_rate_box) THEN
     
    102102         f_r_wetik(:) = f_r_wetB(ilon,ilev,:)
    103103         CALL condens_evapor_rate_kelvin(rhoa,t_seri(ilon,ilev),pplay(ilon,ilev), &
    104               & R2SO4(ilon,ilev),DENSO4(ilon,ilev),f_r_wet(ilon,ilev), &
    105               & R2SO4ik,DENSO4ik,f_r_wetik,FL,ASO4,DNDR)
     104   R2SO4(ilon,ilev),DENSO4(ilon,ilev),f_r_wet(ilon,ilev), &
     105   R2SO4ik,DENSO4ik,f_r_wetik,FL,ASO4,DNDR)
    106106      ELSE
    107107         CALL condens_evapor_rate(rhoa,t_seri(ilon,ilev),pplay(ilon,ilev), &
    108               & ACTSO4(ilon,ilev),R2SO4(ilon,ilev),DENSO4(ilon,ilev),f_r_wet(ilon,ilev), &
    109               & FL,ASO4,DNDR)
     108   ACTSO4(ilon,ilev),R2SO4(ilon,ilev),DENSO4(ilon,ilev),f_r_wet(ilon,ilev), &
     109   FL,ASO4,DNDR)
    110110      ENDIF
    111111      ! Compute H2SO4 saturate vapor for big particules
     
    134134      ! compute fluxes as diagnostic in [kg(S)/m2/layer/s] (now - for evap and + for cond)
    135135      budg_3D_cond_evap(ilon,ilev)=budg_3D_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
    136                & *cond_evap_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*dt/pdtphys
     136   *cond_evap_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*dt/pdtphys
    137137      budg_3D_nucl(ilon,ilev)=budg_3D_nucl(ilon,ilev)+mSatom/mH2SO4mol &
    138                & *nucl_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*dt/pdtphys
     138   *nucl_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG*dt/pdtphys
    139139      ! update time step
    140140      PDT=PDT-dt
     
    142142    ! convert tr_seri(GASH2SO4) (in kg/kgA) to H2SO4 number density (in molecules/cm3)
    143143    rhoa=tr_seri(ilon,ilev,id_H2SO4_strat) &
    144         & *pplay(ilon,ilev)/t_seri(ilon,ilev)/RD/1.E6/mH2SO4mol
     144   *pplay(ilon,ilev)/t_seri(ilon,ilev)/RD/1.E6/mH2SO4mol
    145145    ! compute cond/evap rate in kg(H2SO4)/kgA/s (now only evap for pdtphys)
    146146    IF(flag_new_strat_compo) THEN
    147147       CALL condens_evapor_rate_kelvin(rhoa,t_seri(ilon,ilev),pplay(ilon,ilev), &
    148             & R2SO4(ilon,ilev),DENSO4(ilon,ilev),f_r_wet(ilon,ilev), &
    149             & R2SO4ik,DENSO4ik,f_r_wetik,FL,ASO4,DNDR)
     148   R2SO4(ilon,ilev),DENSO4(ilon,ilev),f_r_wet(ilon,ilev), &
     149   R2SO4ik,DENSO4ik,f_r_wetik,FL,ASO4,DNDR)
    150150    ELSE
    151151       CALL condens_evapor_rate(rhoa,t_seri(ilon,ilev),pplay(ilon,ilev), &
    152             & ACTSO4(ilon,ilev),R2SO4(ilon,ilev),DENSO4(ilon,ilev),f_r_wet(ilon,ilev), &
    153             & FL,ASO4,DNDR)
     152   ACTSO4(ilon,ilev),R2SO4(ilon,ilev),DENSO4(ilon,ilev),f_r_wet(ilon,ilev), &
     153   FL,ASO4,DNDR)
    154154    ENDIF
    155155    ! limit evaporation (negative FL) over one physics time step to H2SO4 content of the droplet
     
    170170    ! compute fluxes as diagnostic in [kg(S)/m2/layer/s] (now - for evap and + for cond)
    171171    budg_3D_cond_evap(ilon,ilev)=budg_3D_cond_evap(ilon,ilev)+mSatom/mH2SO4mol &
    172              & *evap_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG
     172   *evap_rate*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG
    173173    ! compute vertically integrated flux due to the net effect of nucleation and condensation/evaporation
    174174    budg_h2so4_to_part(ilon)=budg_h2so4_to_part(ilon)+(H2SO4_init-tr_seri(ilon,ilev,id_H2SO4_strat)) &
    175              & *mSatom/mH2SO4mol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
     175   *mSatom/mH2SO4mol*(paprs(ilon,ilev)-paprs(ilon,ilev+1))/RG/pdtphys
    176176  ENDIF
    177177  ENDDO
  • LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/miecalc_aer.F90

    r5082 r5087  
    258258      Nwv=1
    259259      dlambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv)= &
    260       &  lambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv)- &
    261       &  lambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv+1)
     260    lambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv)- &
     261    lambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv+1)
    262262      DO Nwv=2, NwvmaxLW-1
    263263      dlambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv)= &
    264       &  (lambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv-1)- &
    265       &  lambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv+1))/2.
     264    (lambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv-1)- &
     265    lambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv+1))/2.
    266266      ENDDO
    267267      Nwv=NwvmaxLW
    268268      dlambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv)= &
    269       &  lambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv-1)- &
    270       &  lambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv)
     269    lambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv-1)- &
     270    lambda_int(NwvmaxSW+nwave_sw+nwave_lw+Nwv)
    271271
    272272      IF (refr_ind_interpol) THEN
  • LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/nucleation_tstep_mod.F90

    r5082 r5087  
    4949      VH2SO4mol=mH2SO4mol/(1.E-3*(a_xm+t_seri*(b_xm+t_seri*c_xm))) !cm3
    5050      jnuc_n = rhoa**2. *(3./4.*RPI)**(1./6.) *(12.*RKBOL*t_seri/mH2SO4mol)**0.5 &
    51            & *100.*(2.*VH2SO4mol**(1./3.))**2. !1/(cm3s)
     51   *100.*(2.*VH2SO4mol**(1./3.))**2. !1/(cm3s)
    5252      ntot_n=2.0
    5353      x_n=1.0
     
    6060!   airn=pplay/t_seri/RD/1.E3*RNAVO/RMD ! molec cm-3 (for future use, to be confirmed)
    6161    CALL newbinapara(t_seri,rh,rhoa,csi,airn,ipr,jnuc_n,ntot_n,jnuc_i,ntot_i, &
    62                    & x_n,x_i,na_n,na_i,rc_n,rc_i,n_i,kinetic_n,kinetic_i)
     62   x_n,x_i,na_n,na_i,rc_n,rc_i,n_i,kinetic_n,kinetic_i)
    6363  ENDIF
    6464
     
    197197
    198198  x=  0.7409967177282139 - 0.002663785665140117*t + 0.002010478847383187*LOG(rh)  &
    199        & - 0.0001832894131464668*t*LOG(rh) + 0.001574072538464286*LOG(rh)**2      &
    200        & - 0.00001790589121766952*t*LOG(rh)**2 + 0.0001844027436573778*LOG(rh)**3 &
    201        & -  1.503452308794887E-6*t*LOG(rh)**3 - 0.003499978417957668*LOG(rhoa)    &
    202        & + 0.0000504021689382576*t*LOG(rhoa)
     199   - 0.0001832894131464668*t*LOG(rh) + 0.001574072538464286*LOG(rh)**2      &
     200   - 0.00001790589121766952*t*LOG(rh)**2 + 0.0001844027436573778*LOG(rh)**3 &
     201   -  1.503452308794887E-6*t*LOG(rh)**3 - 0.003499978417957668*LOG(rhoa)    &
     202   + 0.0000504021689382576*t*LOG(rhoa)
    203203
    204204  jnuc= 0.1430901615568665 + 2.219563673425199*t - 0.02739106114964264*t**2 + &
    205        &  0.00007228107239317088*t**3 + 5.91822263375044/x +                  &
    206        &  0.1174886643003278*LOG(rh) + 0.4625315047693772*t*LOG(rh) -          &
    207        &  0.01180591129059253*t**2*LOG(rh) +                                  &
    208        &  0.0000404196487152575*t**3*LOG(rh) + (15.79628615047088*LOG(rh))/x - &
    209        &  0.215553951893509*LOG(rh)**2 - 0.0810269192332194*t*LOG(rh)**2 +    &
    210        &  0.001435808434184642*t**2*LOG(rh)**2 -                               &
    211        &  4.775796947178588E-6*t**3*LOG(rh)**2 -                               &
    212        &  (2.912974063702185*LOG(rh)**2)/x - 3.588557942822751*LOG(rh)**3 +   &
    213        &  0.04950795302831703*t*LOG(rh)**3 -                                   &
    214        &  0.0002138195118737068*t**2*LOG(rh)**3 +                             &
    215        &  3.108005107949533E-7*t**3*LOG(rh)**3 -                               &
    216        &  (0.02933332747098296*LOG(rh)**3)/x +                                &
    217        &  1.145983818561277*LOG(rhoa) -                                        &
    218        &  0.6007956227856778*t*LOG(rhoa) +                                    &
    219        &  0.00864244733283759*t**2*LOG(rhoa) -                                 &
    220        &  0.00002289467254710888*t**3*LOG(rhoa) -                              &
    221        &  (8.44984513869014*LOG(rhoa))/x +                                    &
    222        &  2.158548369286559*LOG(rh)*LOG(rhoa) +                               &
    223        &  0.0808121412840917*t*LOG(rh)*LOG(rhoa) -                             &
    224        &  0.0004073815255395214*t**2*LOG(rh)*LOG(rhoa) -                       &
    225        &  4.019572560156515E-7*t**3*LOG(rh)*LOG(rhoa) +                       &
    226        &  (0.7213255852557236*LOG(rh)*LOG(rhoa))/x +                          &
    227        &  1.62409850488771*LOG(rh)**2*LOG(rhoa) -                              &
    228        &  0.01601062035325362*t*LOG(rh)**2*LOG(rhoa) +                        &
    229        &  0.00003771238979714162*t**2*LOG(rh)**2*LOG(rhoa) +                  &
    230        &  3.217942606371182E-8*t**3*LOG(rh)**2*LOG(rhoa) -                     &
    231        &  (0.01132550810022116*LOG(rh)**2*LOG(rhoa))/x +                      &
    232        &  9.71681713056504*LOG(rhoa)**2 -                                      &
    233        &  0.1150478558347306*t*LOG(rhoa)**2 +                                 &
    234        &  0.0001570982486038294*t**2*LOG(rhoa)**2 +                           &
    235        &  4.009144680125015E-7*t**3*LOG(rhoa)**2 +                            &
    236        &  (0.7118597859976135*LOG(rhoa)**2)/x -                                &
    237        &  1.056105824379897*LOG(rh)*LOG(rhoa)**2 +                            &
    238        &  0.00903377584628419*t*LOG(rh)*LOG(rhoa)**2 -                         &
    239        &  0.00001984167387090606*t**2*LOG(rh)*LOG(rhoa)**2 +                  &
    240        &  2.460478196482179E-8*t**3*LOG(rh)*LOG(rhoa)**2 -                     &
    241        &  (0.05790872906645181*LOG(rh)*LOG(rhoa)**2)/x -                       &
    242        &  0.1487119673397459*LOG(rhoa)**3 +                                   &
    243        &  0.002835082097822667*t*LOG(rhoa)**3 -                                &
    244        &  9.24618825471694E-6*t**2*LOG(rhoa)**3 +                             &
    245        &  5.004267665960894E-9*t**3*LOG(rhoa)**3 -                             &
    246        &  (0.01270805101481648*LOG(rhoa)**3)/x
     205    0.00007228107239317088*t**3 + 5.91822263375044/x +                  &
     206    0.1174886643003278*LOG(rh) + 0.4625315047693772*t*LOG(rh) -          &
     207    0.01180591129059253*t**2*LOG(rh) +                                  &
     208    0.0000404196487152575*t**3*LOG(rh) + (15.79628615047088*LOG(rh))/x - &
     209    0.215553951893509*LOG(rh)**2 - 0.0810269192332194*t*LOG(rh)**2 +    &
     210    0.001435808434184642*t**2*LOG(rh)**2 -                               &
     211    4.775796947178588E-6*t**3*LOG(rh)**2 -                               &
     212    (2.912974063702185*LOG(rh)**2)/x - 3.588557942822751*LOG(rh)**3 +   &
     213    0.04950795302831703*t*LOG(rh)**3 -                                   &
     214    0.0002138195118737068*t**2*LOG(rh)**3 +                             &
     215    3.108005107949533E-7*t**3*LOG(rh)**3 -                               &
     216    (0.02933332747098296*LOG(rh)**3)/x +                                &
     217    1.145983818561277*LOG(rhoa) -                                        &
     218    0.6007956227856778*t*LOG(rhoa) +                                    &
     219    0.00864244733283759*t**2*LOG(rhoa) -                                 &
     220    0.00002289467254710888*t**3*LOG(rhoa) -                              &
     221    (8.44984513869014*LOG(rhoa))/x +                                    &
     222    2.158548369286559*LOG(rh)*LOG(rhoa) +                               &
     223    0.0808121412840917*t*LOG(rh)*LOG(rhoa) -                             &
     224    0.0004073815255395214*t**2*LOG(rh)*LOG(rhoa) -                       &
     225    4.019572560156515E-7*t**3*LOG(rh)*LOG(rhoa) +                       &
     226    (0.7213255852557236*LOG(rh)*LOG(rhoa))/x +                          &
     227    1.62409850488771*LOG(rh)**2*LOG(rhoa) -                              &
     228    0.01601062035325362*t*LOG(rh)**2*LOG(rhoa) +                        &
     229    0.00003771238979714162*t**2*LOG(rh)**2*LOG(rhoa) +                  &
     230    3.217942606371182E-8*t**3*LOG(rh)**2*LOG(rhoa) -                     &
     231    (0.01132550810022116*LOG(rh)**2*LOG(rhoa))/x +                      &
     232    9.71681713056504*LOG(rhoa)**2 -                                      &
     233    0.1150478558347306*t*LOG(rhoa)**2 +                                 &
     234    0.0001570982486038294*t**2*LOG(rhoa)**2 +                           &
     235    4.009144680125015E-7*t**3*LOG(rhoa)**2 +                            &
     236    (0.7118597859976135*LOG(rhoa)**2)/x -                                &
     237    1.056105824379897*LOG(rh)*LOG(rhoa)**2 +                            &
     238    0.00903377584628419*t*LOG(rh)*LOG(rhoa)**2 -                         &
     239    0.00001984167387090606*t**2*LOG(rh)*LOG(rhoa)**2 +                  &
     240    2.460478196482179E-8*t**3*LOG(rh)*LOG(rhoa)**2 -                     &
     241    (0.05790872906645181*LOG(rh)*LOG(rhoa)**2)/x -                       &
     242    0.1487119673397459*LOG(rhoa)**3 +                                   &
     243    0.002835082097822667*t*LOG(rhoa)**3 -                                &
     244    9.24618825471694E-6*t**2*LOG(rhoa)**3 +                             &
     245    5.004267665960894E-9*t**3*LOG(rhoa)**3 -                             &
     246    (0.01270805101481648*LOG(rhoa)**3)/x
    247247  jnuc=EXP(jnuc) !1/(cm3s)
    248248
    249249  ntot =-0.002954125078716302 - 0.0976834264241286*t + 0.001024847927067835*t**2 - 2.186459697726116E-6*t**3 -    &
    250        &   0.1017165718716887/x - 0.002050640345231486*LOG(rh) - 0.007585041382707174*t*LOG(rh) +                &
    251        &   0.0001926539658089536*t**2*LOG(rh) - 6.70429719683894E-7*t**3*LOG(rh) -                                &
    252        &   (0.2557744774673163*LOG(rh))/x + 0.003223076552477191*LOG(rh)**2 + 0.000852636632240633*t*LOG(rh)**2 - &
    253        &   0.00001547571354871789*t**2*LOG(rh)**2 + 5.666608424980593E-8*t**3*LOG(rh)**2 +                       &
    254        &   (0.03384437400744206*LOG(rh)**2)/x + 0.04743226764572505*LOG(rh)**3 -                                  &
    255        &   0.0006251042204583412*t*LOG(rh)**3 + 2.650663328519478E-6*t**2*LOG(rh)**3 -                            &
    256        &   3.674710848763778E-9*t**3*LOG(rh)**3 - (0.0002672510825259393*LOG(rh)**3)/x -                          &
    257        &   0.01252108546759328*LOG(rhoa) + 0.005806550506277202*t*LOG(rhoa) -                                     &
    258        &   0.0001016735312443444*t**2*LOG(rhoa) + 2.881946187214505E-7*t**3*LOG(rhoa) +                          &
    259        &   (0.0942243379396279*LOG(rhoa))/x - 0.0385459592773097*LOG(rh)*LOG(rhoa) -                              &
    260        &   0.0006723156277391984*t*LOG(rh)*LOG(rhoa) + 2.602884877659698E-6*t**2*LOG(rh)*LOG(rhoa) +             &
    261        &   1.194163699688297E-8*t**3*LOG(rh)*LOG(rhoa) - (0.00851515345806281*LOG(rh)*LOG(rhoa))/x -              &
    262        &   0.01837488495738111*LOG(rh)**2*LOG(rhoa) + 0.0001720723574407498*t*LOG(rh)**2*LOG(rhoa) -              &
    263        &   3.717657974086814E-7*t**2*LOG(rh)**2*LOG(rhoa) -                                                       &
    264        &   5.148746022615196E-10*t**3*LOG(rh)**2*LOG(rhoa) +                                                     &
    265        &   (0.0002686602132926594*LOG(rh)**2*LOG(rhoa))/x - 0.06199739728812199*LOG(rhoa)**2 +                   &
    266        &   0.000906958053583576*t*LOG(rhoa)**2 - 9.11727926129757E-7*t**2*LOG(rhoa)**2 -                          &
    267        &   5.367963396508457E-9*t**3*LOG(rhoa)**2 - (0.007742343393937707*LOG(rhoa)**2)/x +                      &
    268        &   0.0121827103101659*LOG(rh)*LOG(rhoa)**2 - 0.0001066499571188091*t*LOG(rh)*LOG(rhoa)**2 +              &
    269        &   2.534598655067518E-7*t**2*LOG(rh)*LOG(rhoa)**2 -                                                       &
    270        &   3.635186504599571E-10*t**3*LOG(rh)*LOG(rhoa)**2 +                                                     &
    271        &   (0.0006100650851863252*LOG(rh)*LOG(rhoa)**2)/x + 0.0003201836700403512*LOG(rhoa)**3 -                  &
    272        &   0.0000174761713262546*t*LOG(rhoa)**3 + 6.065037668052182E-8*t**2*LOG(rhoa)**3 -                        &
    273        &   1.421771723004557E-11*t**3*LOG(rhoa)**3 + (0.0001357509859501723*LOG(rhoa)**3)/x
     250     0.1017165718716887/x - 0.002050640345231486*LOG(rh) - 0.007585041382707174*t*LOG(rh) +                &
     251     0.0001926539658089536*t**2*LOG(rh) - 6.70429719683894E-7*t**3*LOG(rh) -                                &
     252     (0.2557744774673163*LOG(rh))/x + 0.003223076552477191*LOG(rh)**2 + 0.000852636632240633*t*LOG(rh)**2 - &
     253     0.00001547571354871789*t**2*LOG(rh)**2 + 5.666608424980593E-8*t**3*LOG(rh)**2 +                       &
     254     (0.03384437400744206*LOG(rh)**2)/x + 0.04743226764572505*LOG(rh)**3 -                                  &
     255     0.0006251042204583412*t*LOG(rh)**3 + 2.650663328519478E-6*t**2*LOG(rh)**3 -                            &
     256     3.674710848763778E-9*t**3*LOG(rh)**3 - (0.0002672510825259393*LOG(rh)**3)/x -                          &
     257     0.01252108546759328*LOG(rhoa) + 0.005806550506277202*t*LOG(rhoa) -                                     &
     258     0.0001016735312443444*t**2*LOG(rhoa) + 2.881946187214505E-7*t**3*LOG(rhoa) +                          &
     259     (0.0942243379396279*LOG(rhoa))/x - 0.0385459592773097*LOG(rh)*LOG(rhoa) -                              &
     260     0.0006723156277391984*t*LOG(rh)*LOG(rhoa) + 2.602884877659698E-6*t**2*LOG(rh)*LOG(rhoa) +             &
     261     1.194163699688297E-8*t**3*LOG(rh)*LOG(rhoa) - (0.00851515345806281*LOG(rh)*LOG(rhoa))/x -              &
     262     0.01837488495738111*LOG(rh)**2*LOG(rhoa) + 0.0001720723574407498*t*LOG(rh)**2*LOG(rhoa) -              &
     263     3.717657974086814E-7*t**2*LOG(rh)**2*LOG(rhoa) -                                                       &
     264     5.148746022615196E-10*t**3*LOG(rh)**2*LOG(rhoa) +                                                     &
     265     (0.0002686602132926594*LOG(rh)**2*LOG(rhoa))/x - 0.06199739728812199*LOG(rhoa)**2 +                   &
     266     0.000906958053583576*t*LOG(rhoa)**2 - 9.11727926129757E-7*t**2*LOG(rhoa)**2 -                          &
     267     5.367963396508457E-9*t**3*LOG(rhoa)**2 - (0.007742343393937707*LOG(rhoa)**2)/x +                      &
     268     0.0121827103101659*LOG(rh)*LOG(rhoa)**2 - 0.0001066499571188091*t*LOG(rh)*LOG(rhoa)**2 +              &
     269     2.534598655067518E-7*t**2*LOG(rh)*LOG(rhoa)**2 -                                                       &
     270     3.635186504599571E-10*t**3*LOG(rh)*LOG(rhoa)**2 +                                                     &
     271     (0.0006100650851863252*LOG(rh)*LOG(rhoa)**2)/x + 0.0003201836700403512*LOG(rhoa)**3 -                  &
     272     0.0000174761713262546*t*LOG(rhoa)**3 + 6.065037668052182E-8*t**2*LOG(rhoa)**3 -                        &
     273     1.421771723004557E-11*t**3*LOG(rhoa)**3 + (0.0001357509859501723*LOG(rhoa)**3)/x
    274274  ntot=EXP(ntot)
    275275
     
    285285
    286286  rhotres=EXP( -279.2430007512709 + 11.73439886096903*rh + 22700.92970508331/t &
    287        & - (1088.644983466801*rh)/t + 1.144362942094912*t                      &
    288        & - 0.03023314602163684*rh*t - 0.001302541390154324*t**2                &
    289        & - 6.386965238433532*LOG(rh) + (854.980361026715*LOG(rh))/t            &
    290        & + 0.00879662256826497*t*LOG(rh)) !1/cm3
     287   - (1088.644983466801*rh)/t + 1.144362942094912*t                      &
     288   - 0.03023314602163684*rh*t - 0.001302541390154324*t**2                &
     289   - 6.386965238433532*LOG(rh) + (854.980361026715*LOG(rh))/t            &
     290   + 0.00879662256826497*t*LOG(rh)) !1/cm3
    291291
    292292  RETURN
     
    297297
    298298SUBROUTINE newbinapara(t,satrat,rhoa,csi,airn,ipr,jnuc_n_real,ntot_n_real,jnuc_i_real,ntot_i_real,        &
    299                    &   x_n_real,x_i_real,na_n_real,na_i_real,rc_n_real,rc_i_real,n_i_real,                &
    300                    &   kinetic_n,kinetic_i)
     299     x_n_real,x_i_real,na_n_real,na_i_real,rc_n_real,rc_i_real,n_i_real,                &
     300     kinetic_n,kinetic_i)
    301301
    302302  !    Fortran 90 subroutine newbinapara
     
    457457  !Critical cluster composition (valid for both cases, bounds not used here)
    458458  x_n=  7.9036365428891719E-1 - 2.8414059650092153E-3*tln + 1.4976802556584141E-2*LOG(satratln)  &
    459        & - 2.4511581740839115E-4*tln*LOG(satratln) + 3.4319869471066424E-3 *LOG(satratln)**2     &
    460        & - 2.8799393617748428E-5*tln*LOG(satratln)**2 + 3.0174314126331765E-4*LOG(satratln)**3   &
    461        & - 2.2673492408841294E-6*tln*LOG(satratln)**3 - 4.3948464567032377E-3*LOG(rhoaln)        &
    462        & + 5.3305314722492146E-5*tln*LOG(rhoaln)
     459   - 2.4511581740839115E-4*tln*LOG(satratln) + 3.4319869471066424E-3 *LOG(satratln)**2     &
     460   - 2.8799393617748428E-5*tln*LOG(satratln)**2 + 3.0174314126331765E-4*LOG(satratln)**3   &
     461   - 2.2673492408841294E-6*tln*LOG(satratln)**3 - 4.3948464567032377E-3*LOG(rhoaln)        &
     462   + 5.3305314722492146E-5*tln*LOG(rhoaln)
    463463  x_i=  7.9036365428891719E-1 - 2.8414059650092153E-3*tli + 1.4976802556584141E-2*LOG(satratli)  &
    464        & - 2.4511581740839115E-4*tli*LOG(satratli) + 3.4319869471066424E-3 *LOG(satratli)**2     &
    465        & - 2.8799393617748428E-5*tli*LOG(satratli)**2 + 3.0174314126331765E-4*LOG(satratli)**3   &
    466        & - 2.2673492408841294E-6*tli*LOG(satratli)**3 - 4.3948464567032377E-3*LOG(rhoali)        &
    467        & + 5.3305314722492146E-5*tli*LOG(rhoali)
     464   - 2.4511581740839115E-4*tli*LOG(satratli) + 3.4319869471066424E-3 *LOG(satratli)**2     &
     465   - 2.8799393617748428E-5*tli*LOG(satratli)**2 + 3.0174314126331765E-4*LOG(satratli)**3   &
     466   - 2.2673492408841294E-6*tli*LOG(satratli)**3 - 4.3948464567032377E-3*LOG(rhoali)        &
     467   + 5.3305314722492146E-5*tli*LOG(rhoali)
    468468       
    469469  x_n=MIN(MAX(x_n,1.E-30),1.)
     
    475475  IF (satratln >= 1.E-2 .AND. satratln <= 1.) THEN
    476476     kinrhotresn=EXP(7.8920778706888086E+1 + 7.3665492897447082*satratln - 1.2420166571163805E+4/tln &
    477           & + (-6.1831234251470971E+2*satratln)/tln - 2.4501159970109945E-2*tln                      &
    478           & -1.3463066443605762E-2*satratln*tln + 8.3736373989909194E-06*tln**2                      &
    479           & -1.4673887785408892*LOG(satratln) + (-3.2141890006517094E+1*LOG(satratln))/tln           &
    480           & + 2.7137429081917556E-3*tln*LOG(satratln)) !1/cm3     
     477   + (-6.1831234251470971E+2*satratln)/tln - 2.4501159970109945E-2*tln                      &
     478   -1.3463066443605762E-2*satratln*tln + 8.3736373989909194E-06*tln**2                      &
     479   -1.4673887785408892*LOG(satratln) + (-3.2141890006517094E+1*LOG(satratln))/tln           &
     480   + 2.7137429081917556E-3*tln*LOG(satratln)) !1/cm3
    481481     IF (kinrhotresn<rhoaln) kinetic_n=.TRUE.
    482482  ENDIF
     
    484484  IF (satratln >= 1.E-4  .AND. satratln < 1.E-2) THEN
    485485     kinrhotresn=EXP(7.9074383049843647E+1 - 2.8746005462158347E+1*satratln - 1.2070272068458380E+4/tln &
    486           & + (-5.9205040320056632E+3*satratln)/tln - 2.4800372593452726E-2*tln                         &
    487           & -4.3983007681295948E-2*satratln*tln + 2.5943854791342071E-5*tln**2                          &
    488           & -2.3141363245211317*LOG(satratln) + (9.9186787997857735E+1*LOG(satratln))/tln               &
    489           & + 5.6819382556144681E-3*tln*LOG(satratln)) !1/cm3
     486   + (-5.9205040320056632E+3*satratln)/tln - 2.4800372593452726E-2*tln                         &
     487   -4.3983007681295948E-2*satratln*tln + 2.5943854791342071E-5*tln**2                          &
     488   -2.3141363245211317*LOG(satratln) + (9.9186787997857735E+1*LOG(satratln))/tln               &
     489   + 5.6819382556144681E-3*tln*LOG(satratln)) !1/cm3
    490490     IF (kinrhotresn<rhoaln) kinetic_n=.TRUE.
    491491  ENDIF
     
    493493  IF (satratln >= 5.E-6  .AND. satratln < 1.E-4) THEN
    494494     kinrhotresn=EXP(8.5599712000361677E+1 + 2.7335119660796581E+3*satratln - 1.1842350246291651E+4/tln &
    495           & + (-1.2439843468881438E+6*satratln)/tln - 5.4536964974944230E-2*tln                         &
    496           & + 5.0886987425326087*satratln*tln + 7.1964722655507067E-5*tln**2                            &
    497           & -2.4472627526306372*LOG(satratln) + (1.7561478001423779E+2*LOG(satratln))/tln               &
    498           & + 6.2640132818141811E-3*tln*LOG(satratln)) !1/cm3
     495   + (-1.2439843468881438E+6*satratln)/tln - 5.4536964974944230E-2*tln                         &
     496   + 5.0886987425326087*satratln*tln + 7.1964722655507067E-5*tln**2                            &
     497   -2.4472627526306372*LOG(satratln) + (1.7561478001423779E+2*LOG(satratln))/tln               &
     498   + 6.2640132818141811E-3*tln*LOG(satratln)) !1/cm3
    499499     IF (kinrhotresn<rhoaln) kinetic_n=.TRUE.
    500500  ENDIF
     
    509509  ELSE
    510510     jnuc_n= 2.1361182605986115E-1 + 3.3827029855551838*tln -3.2423555796175563E-2*tln**2 +        &
    511           &  7.0120069477221989E-5*tln**3 +8.0286874752695141/x_n +                                &
    512           &  (-2.6939840579762231E-1)*LOG(satratln) +1.6079879299099518*tln*LOG(satratln) +        &
    513           &  (-1.9667486968141933E-2)*tln**2*LOG(satratln) +                                       &
    514           &  5.5244755979770844E-5*tln**3*LOG(satratln) + (7.8884704837892468*LOG(satratln))/x_n + &
    515           &  4.6374659198909596*LOG(satratln)**2 - 8.2002809894792153E-2*tln*LOG(satratln)**2 +    &
    516           &  8.5077424451172196E-4*tln**2*LOG(satratln)**2 +                                       &
    517           &  (-2.6518510168987462E-6)*tln**3*LOG(satratln)**2 +                                    &
    518           &  (-1.4625482500575278*LOG(satratln)**2)/x_n - 5.2413002989192037E-1*LOG(satratln)**3 + &
    519           &  5.2755117653715865E-3*tln*LOG(satratln)**3 +                                          &
    520           &  (-2.9491061332113830E-6)*tln**2*LOG(satratln)**3 +                                    &
    521           &  (-2.4815454194486752E-8)*tln**3*LOG(satratln)**3 +                                    &
    522           &  (-5.2663760117394626E-2*LOG(satratln)**3)/x_n +                                       &
    523           &  1.6496664658266762*LOG(rhoaln) +                                                      &
    524           &  (-8.0809397859218401E-1)*tln*LOG(rhoaln) +                                            &
    525           &  8.9302927091946642E-3*tln**2*LOG(rhoaln) +                                            &
    526           &  (-1.9583649496497497E-5)*tln**3*LOG(rhoaln) +                                         &
    527           &  (-8.9505572676891685*LOG(rhoaln))/x_n +                                               &
    528           &  (-3.0025283601622881E+1)*LOG(satratln)*LOG(rhoaln) +                                  &
    529           &  3.0783365644763633E-1*tln*LOG(satratln)*LOG(rhoaln) +                                 &
    530           &  (-7.4521756337984706E-4)*tln**2*LOG(satratln)*LOG(rhoaln) +                           &
    531           &  (-5.7651433870681853E-7)*tln**3*LOG(satratln)*LOG(rhoaln) +                           &
    532           &  (1.2872868529673207*LOG(satratln)*LOG(rhoaln))/x_n +                                  &
    533           &  (-6.1739867501526535E-1)*LOG(satratln)**2*LOG(rhoaln) +                               &
    534           &  7.2347385705333975E-3*tln*LOG(satratln)**2*LOG(rhoaln) +                              &
    535           &  (-3.0640494530822439E-5)*tln**2*LOG(satratln)**2*LOG(rhoaln) +                        &
    536           &  6.5944609194346214E-8*tln**3*LOG(satratln)**2*LOG(rhoaln) +                           &
    537           &  (-2.8681650332461055E-2*LOG(satratln)**2*LOG(rhoaln))/x_n +                           &
    538           &  6.5213802375160306*LOG(rhoaln)**2 +                                                   &
    539           &  (-4.7907162004793016E-2)*tln*LOG(rhoaln)**2 +                                         &
    540           &  (-1.0727890114215117E-4)*tln**2*LOG(rhoaln)**2 +                                      &
    541           &  5.6401818280534507E-7*tln**3*LOG(rhoaln)**2 +                                         &
    542           &  (5.4113070888923009E-1*LOG(rhoaln)**2)/x_n +                                          &
    543           &  5.2062808476476330E-1*LOG(satratln)*LOG(rhoaln)**2 +                                  &
    544           &  (-6.0696882500824584E-3)*tln*LOG(satratln)*LOG(rhoaln)**2 +                           &
    545           &  2.3851383302608477E-5*tln**2*LOG(satratln)*LOG(rhoaln)**2 +                           &
    546           &  (-1.5243837103067096E-8)*tln**3*LOG(satratln)*LOG(rhoaln)**2 +                        &
    547           &  (-5.6543192378015687E-2*LOG(satratln)*LOG(rhoaln)**2)/x_n +                           &
    548           &  (-1.1630806410696815E-1)*LOG(rhoaln)**3 +                                             &
    549           &  1.3806404273119610E-3*tln*LOG(rhoaln)**3 +                                            &
    550           &  (-2.0199865087650833E-6)*tln**2*LOG(rhoaln)**3 +                                      &
    551           &  (-3.0200284885763192E-9)*tln**3*LOG(rhoaln)**3 +                                      &
    552           &  (-6.9425267104126316E-3*LOG(rhoaln)**3)/x_n
     511    7.0120069477221989E-5*tln**3 +8.0286874752695141/x_n +                                &
     512    (-2.6939840579762231E-1)*LOG(satratln) +1.6079879299099518*tln*LOG(satratln) +        &
     513    (-1.9667486968141933E-2)*tln**2*LOG(satratln) +                                       &
     514    5.5244755979770844E-5*tln**3*LOG(satratln) + (7.8884704837892468*LOG(satratln))/x_n + &
     515    4.6374659198909596*LOG(satratln)**2 - 8.2002809894792153E-2*tln*LOG(satratln)**2 +    &
     516    8.5077424451172196E-4*tln**2*LOG(satratln)**2 +                                       &
     517    (-2.6518510168987462E-6)*tln**3*LOG(satratln)**2 +                                    &
     518    (-1.4625482500575278*LOG(satratln)**2)/x_n - 5.2413002989192037E-1*LOG(satratln)**3 + &
     519    5.2755117653715865E-3*tln*LOG(satratln)**3 +                                          &
     520    (-2.9491061332113830E-6)*tln**2*LOG(satratln)**3 +                                    &
     521    (-2.4815454194486752E-8)*tln**3*LOG(satratln)**3 +                                    &
     522    (-5.2663760117394626E-2*LOG(satratln)**3)/x_n +                                       &
     523    1.6496664658266762*LOG(rhoaln) +                                                      &
     524    (-8.0809397859218401E-1)*tln*LOG(rhoaln) +                                            &
     525    8.9302927091946642E-3*tln**2*LOG(rhoaln) +                                            &
     526    (-1.9583649496497497E-5)*tln**3*LOG(rhoaln) +                                         &
     527    (-8.9505572676891685*LOG(rhoaln))/x_n +                                               &
     528    (-3.0025283601622881E+1)*LOG(satratln)*LOG(rhoaln) +                                  &
     529    3.0783365644763633E-1*tln*LOG(satratln)*LOG(rhoaln) +                                 &
     530    (-7.4521756337984706E-4)*tln**2*LOG(satratln)*LOG(rhoaln) +                           &
     531    (-5.7651433870681853E-7)*tln**3*LOG(satratln)*LOG(rhoaln) +                           &
     532    (1.2872868529673207*LOG(satratln)*LOG(rhoaln))/x_n +                                  &
     533    (-6.1739867501526535E-1)*LOG(satratln)**2*LOG(rhoaln) +                               &
     534    7.2347385705333975E-3*tln*LOG(satratln)**2*LOG(rhoaln) +                              &
     535    (-3.0640494530822439E-5)*tln**2*LOG(satratln)**2*LOG(rhoaln) +                        &
     536    6.5944609194346214E-8*tln**3*LOG(satratln)**2*LOG(rhoaln) +                           &
     537    (-2.8681650332461055E-2*LOG(satratln)**2*LOG(rhoaln))/x_n +                           &
     538    6.5213802375160306*LOG(rhoaln)**2 +                                                   &
     539    (-4.7907162004793016E-2)*tln*LOG(rhoaln)**2 +                                         &
     540    (-1.0727890114215117E-4)*tln**2*LOG(rhoaln)**2 +                                      &
     541    5.6401818280534507E-7*tln**3*LOG(rhoaln)**2 +                                         &
     542    (5.4113070888923009E-1*LOG(rhoaln)**2)/x_n +                                          &
     543    5.2062808476476330E-1*LOG(satratln)*LOG(rhoaln)**2 +                                  &
     544    (-6.0696882500824584E-3)*tln*LOG(satratln)*LOG(rhoaln)**2 +                           &
     545    2.3851383302608477E-5*tln**2*LOG(satratln)*LOG(rhoaln)**2 +                           &
     546    (-1.5243837103067096E-8)*tln**3*LOG(satratln)*LOG(rhoaln)**2 +                        &
     547    (-5.6543192378015687E-2*LOG(satratln)*LOG(rhoaln)**2)/x_n +                           &
     548    (-1.1630806410696815E-1)*LOG(rhoaln)**3 +                                             &
     549    1.3806404273119610E-3*tln*LOG(rhoaln)**3 +                                            &
     550    (-2.0199865087650833E-6)*tln**2*LOG(rhoaln)**3 +                                      &
     551    (-3.0200284885763192E-9)*tln**3*LOG(rhoaln)**3 +                                      &
     552    (-6.9425267104126316E-3*LOG(rhoaln)**3)/x_n
    553553     jnuc_n=EXP(jnuc_n)
    554554     
    555555     ntot_n =-3.5863435141979573E-3 - 1.0098670235841110E-1*tln + 8.9741268319259721E-4*tln**2 - 1.4855098605195757E-6*tln**3  &
    556           &   - 1.2080330016937095E-1/x_n + 1.1902674923928015E-3*LOG(satratln) - 1.9211358507172177E-2*tln*LOG(satratln) +    &
    557           &   2.4648094311204255E-4*tln**2*LOG(satratln) - 7.5641448594711666E-7*tln**3*LOG(satratln) +                        &
    558           &   (-2.0668639384228818E-02*LOG(satratln))/x_n - 3.7593072011595188E-2*LOG(satratln)**2 +                           &
    559           &   9.0993182774415718E-4 *tln*LOG(satratln)**2 +                                                                    &
    560           &   (-9.5698412164297149E-6)*tln**2*LOG(satratln)**2 + 3.7163166416110421E-8*tln**3*LOG(satratln)**2 +               &
    561           &   (1.1026579525210847E-2*LOG(satratln)**2)/x_n + 1.1530844115561925E-2 *LOG(satratln)**3 +                         &
    562           &   (-1.8083253906466668E-4)*tln*LOG(satratln)**3 + 8.0213604053330654E-7*tln**2*LOG(satratln)**3 +                  &
    563           &   (-8.5797885383051337E-10)*tln**3*LOG(satratln)**3 + (1.0243693899717402E-3*LOG(satratln)**3)/x_n +               &
    564           &   (-1.7248695296299649E-2)*LOG(rhoaln) + 1.1294004162437157E-2*tln*LOG(rhoaln) +                                   &
    565           &   (-1.2283640163189278E-4)*tln**2*LOG(rhoaln) + 2.7391732258259009E-7*tln**3*LOG(rhoaln) +                         &
    566           &   (6.8505583974029602E-2*LOG(rhoaln))/x_n +2.9750968179523635E-1*LOG(satratln)*LOG(rhoaln) +                       &
    567           &   (-3.6681154503992296E-3)*tln*LOG(satratln)*LOG(rhoaln) + 1.0636473034653114E-5*tln**2*LOG(satratln)*LOG(rhoaln)+ &
    568           &   5.8687098466515866E-9*tln**3*LOG(satratln)*LOG(rhoaln) + (-5.2028866094191509E-3*LOG(satratln)*LOG(rhoaln))/x_n+ &
    569           &   7.6971988880587231E-4*LOG(satratln)**2*LOG(rhoaln) - 2.4605575820433763E-5*tln*LOG(satratln)**2*LOG(rhoaln) +    &
    570           &   2.3818484400893008E-7*tln**2*LOG(satratln)**2*LOG(rhoaln) +                                                      &
    571           &   (-8.8474102392445200E-10)*tln**3*LOG(satratln)**2*LOG(rhoaln) +                                                  &
    572           &   (-1.6640566678168968E-4*LOG(satratln)**2*LOG(rhoaln))/x_n - 7.7390093776705471E-2*LOG(rhoaln)**2 +               &
    573           &   5.8220163188828482E-4*tln*LOG(rhoaln)**2 + 1.2291679321523287E-6*tln**2*LOG(rhoaln)**2 +                         &
    574           &   (-7.4690997508075749E-9)*tln**3*LOG(rhoaln)**2 + (-5.6357941220497648E-3*LOG(rhoaln)**2)/x_n +                   &
    575           &   (-4.7170109625089768E-3)*LOG(satratln)*LOG(rhoaln)**2 + 6.9828868534370193E-5*tln*LOG(satratln)*LOG(rhoaln)**2 + &
    576           &   (-3.1738912157036403E-7)*tln**2*LOG(satratln)*LOG(rhoaln)**2 +                                                   &
    577           &   2.3975538706787416E-10*tln**3*LOG(satratln)*LOG(rhoaln)**2 +                                                     &
    578           &   (4.2304213386288567E-4*LOG(satratln)*LOG(rhoaln)**2)/x_n + 1.3696520973423231E-3*LOG(rhoaln)**3 +                &
    579           &   (-1.6863387574788199E-5)*tln*LOG(rhoaln)**3 + 2.7959499278844516E-8*tln**2*LOG(rhoaln)**3 +                      &
    580           &   3.9423927013227455E-11*tln**3*LOG(rhoaln)**3 + (8.6136359966337272E-5*LOG(rhoaln)**3)/x_n
     556     - 1.2080330016937095E-1/x_n + 1.1902674923928015E-3*LOG(satratln) - 1.9211358507172177E-2*tln*LOG(satratln) +    &
     557     2.4648094311204255E-4*tln**2*LOG(satratln) - 7.5641448594711666E-7*tln**3*LOG(satratln) +                        &
     558     (-2.0668639384228818E-02*LOG(satratln))/x_n - 3.7593072011595188E-2*LOG(satratln)**2 +                           &
     559     9.0993182774415718E-4 *tln*LOG(satratln)**2 +                                                                    &
     560     (-9.5698412164297149E-6)*tln**2*LOG(satratln)**2 + 3.7163166416110421E-8*tln**3*LOG(satratln)**2 +               &
     561     (1.1026579525210847E-2*LOG(satratln)**2)/x_n + 1.1530844115561925E-2 *LOG(satratln)**3 +                         &
     562     (-1.8083253906466668E-4)*tln*LOG(satratln)**3 + 8.0213604053330654E-7*tln**2*LOG(satratln)**3 +                  &
     563     (-8.5797885383051337E-10)*tln**3*LOG(satratln)**3 + (1.0243693899717402E-3*LOG(satratln)**3)/x_n +               &
     564     (-1.7248695296299649E-2)*LOG(rhoaln) + 1.1294004162437157E-2*tln*LOG(rhoaln) +                                   &
     565     (-1.2283640163189278E-4)*tln**2*LOG(rhoaln) + 2.7391732258259009E-7*tln**3*LOG(rhoaln) +                         &
     566     (6.8505583974029602E-2*LOG(rhoaln))/x_n +2.9750968179523635E-1*LOG(satratln)*LOG(rhoaln) +                       &
     567     (-3.6681154503992296E-3)*tln*LOG(satratln)*LOG(rhoaln) + 1.0636473034653114E-5*tln**2*LOG(satratln)*LOG(rhoaln)+ &
     568     5.8687098466515866E-9*tln**3*LOG(satratln)*LOG(rhoaln) + (-5.2028866094191509E-3*LOG(satratln)*LOG(rhoaln))/x_n+ &
     569     7.6971988880587231E-4*LOG(satratln)**2*LOG(rhoaln) - 2.4605575820433763E-5*tln*LOG(satratln)**2*LOG(rhoaln) +    &
     570     2.3818484400893008E-7*tln**2*LOG(satratln)**2*LOG(rhoaln) +                                                      &
     571     (-8.8474102392445200E-10)*tln**3*LOG(satratln)**2*LOG(rhoaln) +                                                  &
     572     (-1.6640566678168968E-4*LOG(satratln)**2*LOG(rhoaln))/x_n - 7.7390093776705471E-2*LOG(rhoaln)**2 +               &
     573     5.8220163188828482E-4*tln*LOG(rhoaln)**2 + 1.2291679321523287E-6*tln**2*LOG(rhoaln)**2 +                         &
     574     (-7.4690997508075749E-9)*tln**3*LOG(rhoaln)**2 + (-5.6357941220497648E-3*LOG(rhoaln)**2)/x_n +                   &
     575     (-4.7170109625089768E-3)*LOG(satratln)*LOG(rhoaln)**2 + 6.9828868534370193E-5*tln*LOG(satratln)*LOG(rhoaln)**2 + &
     576     (-3.1738912157036403E-7)*tln**2*LOG(satratln)*LOG(rhoaln)**2 +                                                   &
     577     2.3975538706787416E-10*tln**3*LOG(satratln)*LOG(rhoaln)**2 +                                                     &
     578     (4.2304213386288567E-4*LOG(satratln)*LOG(rhoaln)**2)/x_n + 1.3696520973423231E-3*LOG(rhoaln)**3 +                &
     579     (-1.6863387574788199E-5)*tln*LOG(rhoaln)**3 + 2.7959499278844516E-8*tln**2*LOG(rhoaln)**3 +                      &
     580     3.9423927013227455E-11*tln**3*LOG(rhoaln)**3 + (8.6136359966337272E-5*LOG(rhoaln)**3)/x_n
    581581     ntot_n=EXP(ntot_n)
    582582     
     
    603603     
    604604     kinrhotresi = 5.3742280876674478E1  - 6.6837931590012266E-3 *LOG(satratli)**(-2)                                     &
    605           & - 1.0142598385422842E-01 * LOG(satratli)**(-1) - 6.4170597272606873E+00 * LOG(satratli)                       &
    606           & - 6.4315798914824518E-01 * LOG(satratli)**2 - 2.4428391714772721E-02 * LOG(satratli)**3                       &
    607           & - 3.5356658734539019E-04 * LOG(satratli)**4 + 2.5400015099140506E-05 * tli * LOG(satratli)**(-2)              &
    608           & - 2.7928900816637790E-04 * tli * LOG(satratli)**(-1) + 4.4108573484923690E-02 * tli * LOG(satratli)           &
    609           & + 6.3943789012475532E-03 * tli * LOG(satratli)**(2) + 2.3164296174966580E-04 * tli * LOG(satratli)**(3)       &
    610           & + 3.0372070669934950E-06 * tli * LOG(satratli)**4 + 3.8255873977423475E-06 * tli**2 * LOG(satratli)**(-1)     &
    611           & - 1.2344793083561629E-04 * tli**2 * LOG(satratli) - 1.7959048869810192E-05 * tli**2 * LOG(satratli)**(2)      &
    612           & - 3.2165622558722767E-07 * tli**2 * LOG(satratli)**3 - 4.7136923780988659E-09 * tli**3 * LOG(satratli)**(-1)  &
    613           & + 1.1873317184482216E-07 * tli**3 * LOG(satratli) + 1.5685860354866621E-08 * tli**3 * LOG(satratli)**2        &
    614           & - 1.4329645891059557E+04 * tli**(-1) + 1.3842599842575321E-01 * tli                                           &
    615           & - 4.1376265912842938E-04 * tli**(2) + 3.9147639775826004E-07 * tli**3
     605   - 1.0142598385422842E-01 * LOG(satratli)**(-1) - 6.4170597272606873E+00 * LOG(satratli)                       &
     606   - 6.4315798914824518E-01 * LOG(satratli)**2 - 2.4428391714772721E-02 * LOG(satratli)**3                       &
     607   - 3.5356658734539019E-04 * LOG(satratli)**4 + 2.5400015099140506E-05 * tli * LOG(satratli)**(-2)              &
     608   - 2.7928900816637790E-04 * tli * LOG(satratli)**(-1) + 4.4108573484923690E-02 * tli * LOG(satratli)           &
     609   + 6.3943789012475532E-03 * tli * LOG(satratli)**(2) + 2.3164296174966580E-04 * tli * LOG(satratli)**(3)       &
     610   + 3.0372070669934950E-06 * tli * LOG(satratli)**4 + 3.8255873977423475E-06 * tli**2 * LOG(satratli)**(-1)     &
     611   - 1.2344793083561629E-04 * tli**2 * LOG(satratli) - 1.7959048869810192E-05 * tli**2 * LOG(satratli)**(2)      &
     612   - 3.2165622558722767E-07 * tli**2 * LOG(satratli)**3 - 4.7136923780988659E-09 * tli**3 * LOG(satratli)**(-1)  &
     613   + 1.1873317184482216E-07 * tli**3 * LOG(satratli) + 1.5685860354866621E-08 * tli**3 * LOG(satratli)**2        &
     614   - 1.4329645891059557E+04 * tli**(-1) + 1.3842599842575321E-01 * tli                                           &
     615   - 4.1376265912842938E-04 * tli**(2) + 3.9147639775826004E-07 * tli**3
    616616     
    617617     kinrhotresi=EXP(kinrhotresi) !1/cm3
     
    621621     IF (kinetic_i) THEN   
    622622        jnuc_i1=1.0E6*(0.3E-9 + 0.487E-9)**2.*SQRT(8.*RPI*RKBOL*(1./mH2SO4mol+1./mH2SO4mol))*  &
    623              &  SQRT(tli)*rhoali !1/cm3s 
     623    SQRT(tli)*rhoali !1/cm3s
    624624        ntot_i=1. !set to 1
    625625        na_i=1.
     
    628628     ELSE
    629629        jnuc_i1 = 3.0108954259038608E+01+tli*6.1176722090512577E+01+(tli**2)*8.7240333618891663E-01+(tli**3)*                &
    630              & (-4.6191788649375719E-03)+(tli**(-1))*8.3537059107024481E-01 +                                                &
    631              & (1.5028549216690628E+01+tli*(-1.9310989753720623E-01)+(tli**2)*8.0155514634860480E-04+(tli**3)*               &
    632              & (-1.0832730707799128E-06)+(tli**(-1))*1.7577660457989019)*(LOG(satratli)**(-2)) +                             &
    633              & (-2.0487870170216488E-01 + tli * 1.3263949252910405E-03 + (tli**2) *(-8.4195688402450274E-06) +               &
    634              & (tli**3)*1.6154895940993287E-08 + (tli**(-1))*3.8734212545203874E+01) * (LOG(satratli)**(-2)*LOG(rhoali)) +   &
    635              & (1.4955918863858371 + tli * 9.2290004245522454E+01 + (tli**2) *(-8.9006965195392618E-01) +                    &
    636              & (tli**3) * 2.2319123411013099E-03 + (tli**(-1)) * 4.0180079996840852E-03) *                                   &
    637              & (LOG(satratli)**(-1) * LOG(rhoali)**(-1)) +                                                                   &
    638              & (7.9018031228561085 + tli *(-1.1649433968658949E+01) + (tli**2) * 1.1400827854910951E-01 +                    &
    639              & (tli**3) *(-3.1941526492127755E-04) + (tli**(-1)) *(-3.7662115740271446E-01)) * (LOG(satratli)**(-1)) +       &
    640              & (1.5725237111225979E+02 + tli *(-1.0051649979836277) + (tli**2) * 1.1866484014507624E-03 +                    &
    641              & (tli**3) * 7.3557614998540389E-06 + (tli**(-1)) * 2.6270197023115189) * (LOG(satratli)**(-1) * LOG(rhoali)) + &
    642              & (-1.6973840122470968E+01 + tli * 1.1258423691432135E-01 + (tli**2) *(-2.9850139351463793E-04) + (tli**3) *    &
    643              & 1.4301286324827064E-07 + (tli**(-1)) * 1.3163389235253725E+01) * (LOG(satratli)**(-1) * LOG(rhoali)**2) +     &
    644              & (-1.0399591631839757 + tli * 2.7022055588257691E-03 + (tli**2) *(-2.1507467231330936E-06) + (tli**3) *        &
    645              & 3.8059489037584171E-10 + (tli**(-1)) * 1.5000492788553410E+02) * (LOG(satratli)**(-1) * LOG(rhoali)**3) +     &
    646              & (1.2250990965305315 + tli * 3.0495946490079444E+01 + (tli**2) * 2.1051563135187106E+01 + (tli**3) *           &
    647              & (-8.2200682916580878E-02) + (tli**(-1)) * 2.9965871386685029E-02) * (LOG(rhoali)**(-2)) +                     &
    648              & (4.8281605955680433 + tli * 1.7346551710836445E+02 + (tli**2) *(-1.0113602140796010E+01) + (tli**3) *         &
    649              & 3.7482518458685089E-02 + (tli**(-1)) *(-1.4449998158558205E-01)) * (LOG(rhoali)**(-1)) +                      &
    650              & (2.3399230964451237E+02 + tli *(-2.3099267235261948E+01) + (tli**2) * 8.0122962140916354E-02 +                &
    651              & (tli**3) * 6.1542576994557088E-05 + (tli**(-1)) * 5.3718413254843007) * (LOG(rhoali)) +                       &
    652              & (1.0299715519499360E+02 + tli *(-6.4663357203364136E-02) + (tli**2) *(-2.0487150565050316E-03) +              &
    653              & (tli**3) * 8.7935289055530897E-07 + (tli**(-1)) * 3.6013204601215229E+01) * (LOG(rhoali)**2) +                &
    654              & (-3.5452115439584042 + tli * 1.7083445731159330E-02 + (tli**2) *(-1.2552625290862626E-05) + (tli**3) *        &
    655              & 1.2968447449182847E-09 + (tli**(-1)) * 1.5748687512056560E+02) * (LOG(rhoali)**3) +                           &
    656              & (2.2338490119517975 + tli * 1.0229410216045540E+02 + (tli**2) *(-3.2103611955174052) + (tli**3) *             &
    657              & 1.3397152304977591E-02 + (tli**(-1)) *(-2.4155187776460030E-02)) * (LOG(satratli)* LOG(rhoali)**(-2)) +       &
    658              & (3.7592282990713963 + tli *(-1.5257988769009816E+02) + (tli**2) * 2.6113805420558802 + (tli**3) *             &
    659              & (-9.0380721653694363E-03) + (tli**(-1)) *(-1.3974197138171082E-01)) * (LOG(satratli)* LOG(rhoali)**(-1)) +    &
    660              & (1.8293600730573988E+01 + tli * 1.8344728606002992E+01 + (tli**2) *(-4.0063363221106751E-01) + (tli**3)       &
    661              & * 1.4842749371258522E-03 + (tli**(-1)) * 1.1848846003282287) * (LOG(satratli)) +                              &
    662              & (-1.7634531623032314E+02 + tli * 4.9011762441271278 + (tli**2) *(-1.3195821562746339E-02) + (tli**3) *        &
    663              & (-2.8668619526430859E-05) + (tli**(-1)) *(-2.9823396976393551E-01)) * (LOG(satratli)* LOG(rhoali)) +          &
    664              & (-3.2944043694275727E+01 + tli * 1.2517571921051887E-01 + (tli**2) * 8.3239769771186714E-05 + (tli**3) *      &
    665              & 2.8191859341519507E-07 + (tli**(-1)) *(-2.7352880736682319E+01)) * (LOG(satratli)* LOG(rhoali)**2) +          &
    666              & (-1.1451811137553243 + tli * 2.0625997485732494E-03 + (tli**2) *(-3.4225389469233624E-06) + (tli**3) *        &
    667              & 4.4437613496984567E-10 + (tli**(-1)) * 1.8666644332606754E+02) * (LOG(satratli)* LOG(rhoali)**3) +            &
    668              & (3.2270897099493567E+01 + tli * 7.7898447327513687E-01 + (tli**2) *(-6.5662738484679626E-03) + (tli**3) *     &
    669              & 3.7899330796456790E-06 + (tli**(-1)) * 7.1106427501756542E-01) * (LOG(satratli)**2 * LOG(rhoali)**(-1)) +     &
    670              & (-2.8901906781697811E+01 + tli *(-1.5356398793054860) + (tli**2) * 1.9267271774384788E-02 + (tli**3) *        &
    671              & (-5.3886270475516162E-05) + (tli**(-1)) * 5.0490415975693426E-01) * (LOG(satratli)**2) +                      &
    672              & (3.3365683645733924E+01 + tli *(-3.6114561564894537E-01) + (tli**2) * 9.2977354471929262E-04 + (tli**3) *     &
    673              & 1.9549769069511355E-07 + (tli**(-1)) *(-8.8865930095112855)) * (LOG(satratli)**2 * LOG(rhoali)) +             &
    674              & (2.4592563042806375 + tli *(-8.3227071743101084E-03) + (tli**2) * 8.2563338043447783E-06 + (tli**3) *         &
    675              & (-8.4374976698593496E-09) + (tli**(-1)) *(-2.0938173949893473E+02)) * (LOG(satratli)**2 * LOG(rhoali)**2) +   &
    676              & (4.4099823444352317E+01 + tli * 2.5915665826835252 + (tli**2) *(-1.6449091819482634E-02) + (tli**3) *         &
    677              & 2.6797249816144721E-05 + (tli**(-1)) * 5.5045672663909995E-01)* satratli
     630   (-4.6191788649375719E-03)+(tli**(-1))*8.3537059107024481E-01 +                                                &
     631   (1.5028549216690628E+01+tli*(-1.9310989753720623E-01)+(tli**2)*8.0155514634860480E-04+(tli**3)*               &
     632   (-1.0832730707799128E-06)+(tli**(-1))*1.7577660457989019)*(LOG(satratli)**(-2)) +                             &
     633   (-2.0487870170216488E-01 + tli * 1.3263949252910405E-03 + (tli**2) *(-8.4195688402450274E-06) +               &
     634   (tli**3)*1.6154895940993287E-08 + (tli**(-1))*3.8734212545203874E+01) * (LOG(satratli)**(-2)*LOG(rhoali)) +   &
     635   (1.4955918863858371 + tli * 9.2290004245522454E+01 + (tli**2) *(-8.9006965195392618E-01) +                    &
     636   (tli**3) * 2.2319123411013099E-03 + (tli**(-1)) * 4.0180079996840852E-03) *                                   &
     637   (LOG(satratli)**(-1) * LOG(rhoali)**(-1)) +                                                                   &
     638   (7.9018031228561085 + tli *(-1.1649433968658949E+01) + (tli**2) * 1.1400827854910951E-01 +                    &
     639   (tli**3) *(-3.1941526492127755E-04) + (tli**(-1)) *(-3.7662115740271446E-01)) * (LOG(satratli)**(-1)) +       &
     640   (1.5725237111225979E+02 + tli *(-1.0051649979836277) + (tli**2) * 1.1866484014507624E-03 +                    &
     641   (tli**3) * 7.3557614998540389E-06 + (tli**(-1)) * 2.6270197023115189) * (LOG(satratli)**(-1) * LOG(rhoali)) + &
     642   (-1.6973840122470968E+01 + tli * 1.1258423691432135E-01 + (tli**2) *(-2.9850139351463793E-04) + (tli**3) *    &
     643   1.4301286324827064E-07 + (tli**(-1)) * 1.3163389235253725E+01) * (LOG(satratli)**(-1) * LOG(rhoali)**2) +     &
     644   (-1.0399591631839757 + tli * 2.7022055588257691E-03 + (tli**2) *(-2.1507467231330936E-06) + (tli**3) *        &
     645   3.8059489037584171E-10 + (tli**(-1)) * 1.5000492788553410E+02) * (LOG(satratli)**(-1) * LOG(rhoali)**3) +     &
     646   (1.2250990965305315 + tli * 3.0495946490079444E+01 + (tli**2) * 2.1051563135187106E+01 + (tli**3) *           &
     647   (-8.2200682916580878E-02) + (tli**(-1)) * 2.9965871386685029E-02) * (LOG(rhoali)**(-2)) +                     &
     648   (4.8281605955680433 + tli * 1.7346551710836445E+02 + (tli**2) *(-1.0113602140796010E+01) + (tli**3) *         &
     649   3.7482518458685089E-02 + (tli**(-1)) *(-1.4449998158558205E-01)) * (LOG(rhoali)**(-1)) +                      &
     650   (2.3399230964451237E+02 + tli *(-2.3099267235261948E+01) + (tli**2) * 8.0122962140916354E-02 +                &
     651   (tli**3) * 6.1542576994557088E-05 + (tli**(-1)) * 5.3718413254843007) * (LOG(rhoali)) +                       &
     652   (1.0299715519499360E+02 + tli *(-6.4663357203364136E-02) + (tli**2) *(-2.0487150565050316E-03) +              &
     653   (tli**3) * 8.7935289055530897E-07 + (tli**(-1)) * 3.6013204601215229E+01) * (LOG(rhoali)**2) +                &
     654   (-3.5452115439584042 + tli * 1.7083445731159330E-02 + (tli**2) *(-1.2552625290862626E-05) + (tli**3) *        &
     655   1.2968447449182847E-09 + (tli**(-1)) * 1.5748687512056560E+02) * (LOG(rhoali)**3) +                           &
     656   (2.2338490119517975 + tli * 1.0229410216045540E+02 + (tli**2) *(-3.2103611955174052) + (tli**3) *             &
     657   1.3397152304977591E-02 + (tli**(-1)) *(-2.4155187776460030E-02)) * (LOG(satratli)* LOG(rhoali)**(-2)) +       &
     658   (3.7592282990713963 + tli *(-1.5257988769009816E+02) + (tli**2) * 2.6113805420558802 + (tli**3) *             &
     659   (-9.0380721653694363E-03) + (tli**(-1)) *(-1.3974197138171082E-01)) * (LOG(satratli)* LOG(rhoali)**(-1)) +    &
     660   (1.8293600730573988E+01 + tli * 1.8344728606002992E+01 + (tli**2) *(-4.0063363221106751E-01) + (tli**3)       &
     661   * 1.4842749371258522E-03 + (tli**(-1)) * 1.1848846003282287) * (LOG(satratli)) +                              &
     662   (-1.7634531623032314E+02 + tli * 4.9011762441271278 + (tli**2) *(-1.3195821562746339E-02) + (tli**3) *        &
     663   (-2.8668619526430859E-05) + (tli**(-1)) *(-2.9823396976393551E-01)) * (LOG(satratli)* LOG(rhoali)) +          &
     664   (-3.2944043694275727E+01 + tli * 1.2517571921051887E-01 + (tli**2) * 8.3239769771186714E-05 + (tli**3) *      &
     665   2.8191859341519507E-07 + (tli**(-1)) *(-2.7352880736682319E+01)) * (LOG(satratli)* LOG(rhoali)**2) +          &
     666   (-1.1451811137553243 + tli * 2.0625997485732494E-03 + (tli**2) *(-3.4225389469233624E-06) + (tli**3) *        &
     667   4.4437613496984567E-10 + (tli**(-1)) * 1.8666644332606754E+02) * (LOG(satratli)* LOG(rhoali)**3) +            &
     668   (3.2270897099493567E+01 + tli * 7.7898447327513687E-01 + (tli**2) *(-6.5662738484679626E-03) + (tli**3) *     &
     669   3.7899330796456790E-06 + (tli**(-1)) * 7.1106427501756542E-01) * (LOG(satratli)**2 * LOG(rhoali)**(-1)) +     &
     670   (-2.8901906781697811E+01 + tli *(-1.5356398793054860) + (tli**2) * 1.9267271774384788E-02 + (tli**3) *        &
     671   (-5.3886270475516162E-05) + (tli**(-1)) * 5.0490415975693426E-01) * (LOG(satratli)**2) +                      &
     672   (3.3365683645733924E+01 + tli *(-3.6114561564894537E-01) + (tli**2) * 9.2977354471929262E-04 + (tli**3) *     &
     673   1.9549769069511355E-07 + (tli**(-1)) *(-8.8865930095112855)) * (LOG(satratli)**2 * LOG(rhoali)) +             &
     674   (2.4592563042806375 + tli *(-8.3227071743101084E-03) + (tli**2) * 8.2563338043447783E-06 + (tli**3) *         &
     675   (-8.4374976698593496E-09) + (tli**(-1)) *(-2.0938173949893473E+02)) * (LOG(satratli)**2 * LOG(rhoali)**2) +   &
     676   (4.4099823444352317E+01 + tli * 2.5915665826835252 + (tli**2) *(-1.6449091819482634E-02) + (tli**3) *         &
     677   2.6797249816144721E-05 + (tli**(-1)) * 5.5045672663909995E-01)* satratli
    678678        jnuc_i1=EXP(jnuc_i1)
    679679       
    680680        ntot_i = ABS((-4.8324296064013375E+04 + tli * 5.0469120697428906E+02 + (tli**2) *(-1.1528940488496042E+00) +         &
    681              & (tli**(-1)) *(-8.6892744676239192E+02) + (tli**(3)) * 4.0030302028120469E-04) +                               &
    682              & (-6.7259105232039847E+03 + tli * 1.9197488157452008E+02 + (tli**2) *(-1.3602976930126354E+00) +               &
    683              & (tli**(-1)) *(-1.1212637938360332E+02) + (tli**(3)) * 2.8515597265933207E-03) *                               &
    684              & LOG(satratli)**(-2) * LOG(rhoali)**(-2) +                                                                     &
    685              & (2.6216455217763342E+02 + tli *(-2.3687553252750821E+00) + (tli**2) * 7.4074554767517521E-03 +                &
    686              & (tli**(-1)) *(-1.9213956820114927E+03) + (tli**(3)) *(-9.3839114856129453E-06)) * LOG(satratli)**(-2) +       &
    687              & (3.9652478944137344E+00 + tli * 1.2469375098256536E-02 + (tli**2) *(-9.9837754694045633E-05) + (tli**(-1)) *  &
    688              & (-5.1919499210175138E+02) + (tli**(3)) * 1.6489001324583862E-07) * LOG(satratli)**(-2) * LOG(rhoali) +        &
    689              & (2.4975714429096206E+02 + tli * 1.7107594562445172E+02 + (tli**2) *(-7.8988711365135289E-01) + (tli**(-1)) *  &
    690              & (-2.2243599782483177E+01) + (tli**(3)) *(-1.6291523004095427E-04)) * LOG(satratli)**(-1) * LOG(rhoali)**(-2) +&
    691              & (-8.9270715592533611E+02 + tli * 1.2053538883338946E+02 + (tli**2) *(-1.5490408828541018E+00) + (tli**(-1)) * &
    692              & (-1.1243275579419826E+01) + (tli**(3)) * 4.8053105606904655E-03) * LOG(satratli)**(-1) * LOG(rhoali)**(-1) +  &
    693              & (7.6426441642091631E+03 + tli *(-7.1785462414656578E+01) + (tli**2) * 2.3851864923199523E-01 + (tli**(-1)) *  &
    694              & 8.5591775688708395E+01 + (tli**(3)) *(-3.7000473243342858E-04)) * LOG(satratli)**(-1) +                       &
    695              & (-5.1516826398607911E+01 + tli * 9.1385720811460558E-01 + (tli**2) *(-3.5477100262158974E-03) +               &
    696              & (tli**(-1)) * 2.7545544507625586E+03 + (tli**(3)) * 5.4708262093640928E-06) * LOG(satratli)**(-1) * LOG(rhoali) + &
    697              & (-3.0386767129196176E+02 + tli *(-1.1033438883583569E+04) + (tli**2) * 8.1296859732896067E+01 + (tli**(-1)) * &
    698              & 1.2625883141097162E+01 + (tli**(3)) *(-1.2728497822219101E-01)) * LOG(rhoali)**(-2) +                         &
    699              & (-3.3763494256461472E+03 + tli * 3.1916579136391006E+03 + (tli**2) *(-2.7234339474441143E+01) + (tli**(-1)) * &
    700              & (-2.1897653262707397E+01) + (tli**(3)) * 5.1788505812259071E-02) * LOG(rhoali)**(-1) +                        &
    701              & (-1.8817843873687068E+03 + tli * 4.3038072285882070E+00 + (tli**2) * 6.6244087689671860E-03 + (tli**(-1)) *   &
    702              & (-2.7133073605696295E+03) + (tli**(3)) *(-1.7951557394285043E-05)) * LOG(rhoali) +                            &
    703              & (-1.7668827539244447E+02 + tli * 4.8160932330629913E-01 + (tli**2) *(-6.3133007671100293E-04) + (tli**(-1)) * &
    704              & 2.5631774669873157E+04 + (tli**(3)) * 4.1534484127873519E-07) * LOG(rhoali)**(2) +                            &
    705              & (-1.6661835889222382E+03 + tli * 1.3708900504682877E+03 + (tli**2) *(-1.7919060052198969E+01) + (tli**(-1)) * &
    706              & (-3.5145029804436405E+01) + (tli**(3)) * 5.1047240947371224E-02) * LOG(satratli)* LOG(rhoali)**(-2) +         &
    707              & (1.0843549363030939E+04 + tli *(-7.3557073636139577E+01) + (tli**2) * 1.2054625131778862E+00 + (tli**(-1)) *  &
    708              & 1.9358737917864391E+02 + (tli**(3)) *(-4.2871620775911338E-03)) * LOG(satratli)* LOG(rhoali)**(-1) +          &
    709              & (-2.4269802549752835E+03 + tli * 1.1348265061941714E+01 + (tli**2) *(-5.0430423939495157E-02) + (tli**(-1)) * &
    710              & 2.3709874548950634E+03 + (tli**(3)) * 1.4091851828620244E-04) * LOG(satratli) +                               &
    711              & (5.2745372575251588E+02 + tli *(-2.6080675912627314E+00) + (tli**2) * 5.6902218056670145E-03 + (tli**(-1)) *  &
    712              & (-3.2149319482897838E+04) + (tli**(3)) *(-5.4121996056745853E-06)) * LOG(satratli)* LOG(rhoali) +             &
    713              & (-1.6401959518360403E+01 + tli * 2.4322962162439640E-01 + (tli**2) * 1.1744366627725344E-03 + (tli**(-1)) *   &
    714              & (-8.2694427518413195E+03) + (tli**(3)) *(-5.0028379203873102E-06))* LOG(satratli)**(2) +                      &
    715              & (-2.7556572017167782E+03 + tli * 4.9293344495058264E+01 + (tli**2) *(-2.6503456520676050E-01) + (tli**(-1)) * &
    716              & 1.2130698030982167E+03 + (tli**(3)) * 4.3530610668042957E-04)* LOG(satratli)**2 * LOG(rhoali)**(-1) +         &
    717              & (-6.3419182228959192E+00 + tli * 4.0636212834605827E-02 + (tli**2) *(-1.0450112687842742E-04) + (tli**(-1)) * &
    718              & 3.1035882189759656E+02 + (tli**(3)) * 9.4328418657873500E-08)* LOG(satratli)**(-3) +                          &
    719              & (3.0189213304689042E+03 + tli *(-2.3804654203861684E+01) + (tli**2) * 6.8113013411972942E-02 + (tli**(-1)) *  &
    720              & 6.3112071081188913E+02 + (tli**(3)) *(-9.4460854261685723E-05))* (satratli) * LOG(rhoali) +                   &
    721              & (1.1924791930673702E+04 + tli *(-1.1973824959206000E+02) + (tli**2) * 1.6888713097971020E-01 + (tli**(-1)) *  &
    722              & 1.8735938211539585E+02 + (tli**(3)) * 5.0974564680442852E-04)* (satratli) +                                   &
    723              & (3.6409071302482083E+01 + tli * 1.7919859306449623E-01 + (tli**2) *(-1.0020116255895206E-03) + (tli**(-1)) *  &
    724              & (-8.3521083354432303E+03) + (tli**(3)) * 1.5879900546795635E-06)* satratli * LOG(rhoali)**(2))
     681   (tli**(-1)) *(-8.6892744676239192E+02) + (tli**(3)) * 4.0030302028120469E-04) +                               &
     682   (-6.7259105232039847E+03 + tli * 1.9197488157452008E+02 + (tli**2) *(-1.3602976930126354E+00) +               &
     683   (tli**(-1)) *(-1.1212637938360332E+02) + (tli**(3)) * 2.8515597265933207E-03) *                               &
     684   LOG(satratli)**(-2) * LOG(rhoali)**(-2) +                                                                     &
     685   (2.6216455217763342E+02 + tli *(-2.3687553252750821E+00) + (tli**2) * 7.4074554767517521E-03 +                &
     686   (tli**(-1)) *(-1.9213956820114927E+03) + (tli**(3)) *(-9.3839114856129453E-06)) * LOG(satratli)**(-2) +       &
     687   (3.9652478944137344E+00 + tli * 1.2469375098256536E-02 + (tli**2) *(-9.9837754694045633E-05) + (tli**(-1)) *  &
     688   (-5.1919499210175138E+02) + (tli**(3)) * 1.6489001324583862E-07) * LOG(satratli)**(-2) * LOG(rhoali) +        &
     689   (2.4975714429096206E+02 + tli * 1.7107594562445172E+02 + (tli**2) *(-7.8988711365135289E-01) + (tli**(-1)) *  &
     690   (-2.2243599782483177E+01) + (tli**(3)) *(-1.6291523004095427E-04)) * LOG(satratli)**(-1) * LOG(rhoali)**(-2) +&
     691   (-8.9270715592533611E+02 + tli * 1.2053538883338946E+02 + (tli**2) *(-1.5490408828541018E+00) + (tli**(-1)) * &
     692   (-1.1243275579419826E+01) + (tli**(3)) * 4.8053105606904655E-03) * LOG(satratli)**(-1) * LOG(rhoali)**(-1) +  &
     693   (7.6426441642091631E+03 + tli *(-7.1785462414656578E+01) + (tli**2) * 2.3851864923199523E-01 + (tli**(-1)) *  &
     694   8.5591775688708395E+01 + (tli**(3)) *(-3.7000473243342858E-04)) * LOG(satratli)**(-1) +                       &
     695   (-5.1516826398607911E+01 + tli * 9.1385720811460558E-01 + (tli**2) *(-3.5477100262158974E-03) +               &
     696   (tli**(-1)) * 2.7545544507625586E+03 + (tli**(3)) * 5.4708262093640928E-06) * LOG(satratli)**(-1) * LOG(rhoali) + &
     697   (-3.0386767129196176E+02 + tli *(-1.1033438883583569E+04) + (tli**2) * 8.1296859732896067E+01 + (tli**(-1)) * &
     698   1.2625883141097162E+01 + (tli**(3)) *(-1.2728497822219101E-01)) * LOG(rhoali)**(-2) +                         &
     699   (-3.3763494256461472E+03 + tli * 3.1916579136391006E+03 + (tli**2) *(-2.7234339474441143E+01) + (tli**(-1)) * &
     700   (-2.1897653262707397E+01) + (tli**(3)) * 5.1788505812259071E-02) * LOG(rhoali)**(-1) +                        &
     701   (-1.8817843873687068E+03 + tli * 4.3038072285882070E+00 + (tli**2) * 6.6244087689671860E-03 + (tli**(-1)) *   &
     702   (-2.7133073605696295E+03) + (tli**(3)) *(-1.7951557394285043E-05)) * LOG(rhoali) +                            &
     703   (-1.7668827539244447E+02 + tli * 4.8160932330629913E-01 + (tli**2) *(-6.3133007671100293E-04) + (tli**(-1)) * &
     704   2.5631774669873157E+04 + (tli**(3)) * 4.1534484127873519E-07) * LOG(rhoali)**(2) +                            &
     705   (-1.6661835889222382E+03 + tli * 1.3708900504682877E+03 + (tli**2) *(-1.7919060052198969E+01) + (tli**(-1)) * &
     706   (-3.5145029804436405E+01) + (tli**(3)) * 5.1047240947371224E-02) * LOG(satratli)* LOG(rhoali)**(-2) +         &
     707   (1.0843549363030939E+04 + tli *(-7.3557073636139577E+01) + (tli**2) * 1.2054625131778862E+00 + (tli**(-1)) *  &
     708   1.9358737917864391E+02 + (tli**(3)) *(-4.2871620775911338E-03)) * LOG(satratli)* LOG(rhoali)**(-1) +          &
     709   (-2.4269802549752835E+03 + tli * 1.1348265061941714E+01 + (tli**2) *(-5.0430423939495157E-02) + (tli**(-1)) * &
     710   2.3709874548950634E+03 + (tli**(3)) * 1.4091851828620244E-04) * LOG(satratli) +                               &
     711   (5.2745372575251588E+02 + tli *(-2.6080675912627314E+00) + (tli**2) * 5.6902218056670145E-03 + (tli**(-1)) *  &
     712   (-3.2149319482897838E+04) + (tli**(3)) *(-5.4121996056745853E-06)) * LOG(satratli)* LOG(rhoali) +             &
     713   (-1.6401959518360403E+01 + tli * 2.4322962162439640E-01 + (tli**2) * 1.1744366627725344E-03 + (tli**(-1)) *   &
     714   (-8.2694427518413195E+03) + (tli**(3)) *(-5.0028379203873102E-06))* LOG(satratli)**(2) +                      &
     715   (-2.7556572017167782E+03 + tli * 4.9293344495058264E+01 + (tli**2) *(-2.6503456520676050E-01) + (tli**(-1)) * &
     716   1.2130698030982167E+03 + (tli**(3)) * 4.3530610668042957E-04)* LOG(satratli)**2 * LOG(rhoali)**(-1) +         &
     717   (-6.3419182228959192E+00 + tli * 4.0636212834605827E-02 + (tli**2) *(-1.0450112687842742E-04) + (tli**(-1)) * &
     718   3.1035882189759656E+02 + (tli**(3)) * 9.4328418657873500E-08)* LOG(satratli)**(-3) +                          &
     719   (3.0189213304689042E+03 + tli *(-2.3804654203861684E+01) + (tli**2) * 6.8113013411972942E-02 + (tli**(-1)) *  &
     720   6.3112071081188913E+02 + (tli**(3)) *(-9.4460854261685723E-05))* (satratli) * LOG(rhoali) +                   &
     721   (1.1924791930673702E+04 + tli *(-1.1973824959206000E+02) + (tli**2) * 1.6888713097971020E-01 + (tli**(-1)) *  &
     722   1.8735938211539585E+02 + (tli**(3)) * 5.0974564680442852E-04)* (satratli) +                                   &
     723   (3.6409071302482083E+01 + tli * 1.7919859306449623E-01 + (tli**2) *(-1.0020116255895206E-03) + (tli**(-1)) *  &
     724   (-8.3521083354432303E+03) + (tli**(3)) * 1.5879900546795635E-06)* satratli * LOG(rhoali)**(2))
    725725         
    726726        rc_i = (-3.6318550637865524E-08 + tli * 2.1740704135789128E-09   + (tli**2) *                            &
    727              & (-8.5521429066506161E-12) + (tli**3) *(-9.3538647454573390E-15)) +                                &
    728              & (2.1366936839394922E-08 + tli *(-2.4087168827395623E-10) + (tli**2) * 8.7969869277074319E-13 +    &
    729              & (tli**3) *(-1.0294466881303291E-15))* LOG(satratli)**(-2) * LOG(rhoali)**(-1) +                   &
    730              & (-7.7804007761164303E-10 + tli * 1.0327058173517932E-11 + (tli**2) *(-4.2557697639692428E-14) +   &
    731              & (tli**3) * 5.4082507061618662E-17)* LOG(satratli)**(-2) +                                         &
    732              & (3.2628927397420860E-12 + tli *(-7.6475692919751066E-14) + (tli**2) * 4.1985816845259788E-16 +    &
    733              & (tli**3) *(-6.2281395889592719E-19))* LOG(satratli)**(-2) * LOG(rhoali) +                         &
    734              & (2.0442205540818555E-09 + tli * 4.0441858911249830E-08 + (tli**2) *(-3.3423487629482825E-10) +    &
    735              & (tli**3) * 6.8000404742985678E-13)* LOG(satratli)**(-1) * LOG(rhoali)**(-2) +                     &
    736              & (1.8381489183824627E-08 + tli *(-8.9853322951518919E-09) + (tli**2) * 7.5888799566036185E-11 +    &
    737              & (tli**3) *(-1.5823457864755549E-13))* LOG(satratli)**(-1) * LOG(rhoali)**(-1) +                   &
    738              & (1.1795760639695057E-07 + tli *(-8.1046722896375875E-10) + (tli**2) * 9.1868604369041857E-14 +    &
    739              & (tli**3) * 4.7882428237444610E-15)* LOG(satratli)**(-1) +                                         &
    740              & (-4.4028846582545952E-09 + tli * 4.6541269232626618E-11 + (tli**2) *(-1.1939929984285194E-13) +   &
    741              & (tli**3) * 2.3602037016614437E-17)* LOG(satratli)**(-1) * LOG(rhoali) +                           &
    742              & (2.7885056884209128E-11 + tli *(-4.5167129624119121E-13) + (tli**2) * 1.6558404997394422E-15 +    &
    743              & (tli**3) *(-1.2037336621218054E-18))* LOG(satratli)**(-1) * LOG(rhoali)**2 +                      &
    744              & (-2.3719627171699983E-09 + tli *(-1.5260127909292053E-07) + (tli**2) * 1.7177017944754134E-09 +   &
    745              & (tli**3) *(-4.7031737537526395E-12))* LOG(rhoali)**(-2) +                                         &
    746              & (-5.6946433724699646E-09 + tli * 8.4629788237081735E-09 + (tli**2) *(-1.7674135187061521E-10) +   &
    747              & (tli**3) * 6.6236547903091862E-13)* LOG(rhoali)**(-1) +                                           &
    748              & (-2.2808617930606012E-08 + tli * 1.4773376696847775E-10 + (tli**2) *(-1.3076953119957355E-13) +   &
    749              & (tli**3) * 2.3625301497914000E-16)* LOG(rhoali) +                                                 &
    750              & (1.4014269939947841E-10 + tli *(-2.3675117757377632E-12) + (tli**2) * 5.1514033966707879E-15 +    &
    751              & (tli**3) *(-4.8864233454747856E-18))* LOG(rhoali)**2 +                                            &
    752              & (6.5464943868885886E-11 + tli * 1.6494354816942769E-08 + (tli**2) *(-1.7480097393483653E-10) +    &
    753              & (tli**3) * 4.7460075628523984E-13)* LOG(satratli)* LOG(rhoali)**(-2) +                            &
    754              & (8.4737893183927871E-09 + tli *(-6.0243327445597118E-09) + (tli**2) * 5.8766070529814883E-11 +    &
    755              & (tli**3) *(-1.4926748560042018E-13))* LOG(satratli)* LOG(rhoali)**(-1) +                          &
    756              & (1.0761964135701397E-07 + tli *(-1.0142496009071148E-09) + (tli**2) * 2.1337312466519190E-12 +    &
    757              & (tli**3) * 1.6376014957685404E-15)* LOG(satratli) +                                               &
    758              & (-3.5621571395968670E-09 + tli * 4.1175339587760905E-11 + (tli**2) *(-1.3535372357998504E-13) +   &
    759              & (tli**3) * 8.9334219536920720E-17)* LOG(satratli)* LOG(rhoali) +                                  &
    760              & (2.0700482083136289E-11 + tli *(-3.9238944562717421E-13) + (tli**2) * 1.5850961422040196E-15 +    &
    761              & (tli**3) *(-1.5336775610911665E-18))* LOG(satratli)* LOG(rhoali)**2 +                             &
    762              & (1.8524255464416206E-09 + tli *(-2.1959816152743264E-11) + (tli**2) *(-6.4478119501677012E-14) +  &
    763              & (tli**3) * 5.5135243833766056E-16)* LOG(satratli)**2 * LOG(rhoali)**(-1) +                        &
    764              & (1.9349488650922679E-09 + tli *(-2.2647295919976428E-11) + (tli**2) * 9.2917479748268751E-14 +    &
    765              & (tli**3) *(-1.2741959892173170E-16))* LOG(satratli)**2 +                                          &
    766              & (2.1484978031650972E-11 + tli *(-9.3976642475838013E-14) + (tli**2) *(-4.8892738002751923E-16) +  &
    767              & (tli**3) * 1.4676120441783832E-18)* LOG(satratli)**2 * LOG(rhoali) +                              &
    768              & (6.7565715216420310E-13 + tli *(-3.5421162549480807E-15) + (tli**2) *(-3.4201196868693569E-18) +  &
    769              & (tli**3) * 2.2260187650412392E-20)* LOG(satratli)**3 * LOG(rhoali)
     727   (-8.5521429066506161E-12) + (tli**3) *(-9.3538647454573390E-15)) +                                &
     728   (2.1366936839394922E-08 + tli *(-2.4087168827395623E-10) + (tli**2) * 8.7969869277074319E-13 +    &
     729   (tli**3) *(-1.0294466881303291E-15))* LOG(satratli)**(-2) * LOG(rhoali)**(-1) +                   &
     730   (-7.7804007761164303E-10 + tli * 1.0327058173517932E-11 + (tli**2) *(-4.2557697639692428E-14) +   &
     731   (tli**3) * 5.4082507061618662E-17)* LOG(satratli)**(-2) +                                         &
     732   (3.2628927397420860E-12 + tli *(-7.6475692919751066E-14) + (tli**2) * 4.1985816845259788E-16 +    &
     733   (tli**3) *(-6.2281395889592719E-19))* LOG(satratli)**(-2) * LOG(rhoali) +                         &
     734   (2.0442205540818555E-09 + tli * 4.0441858911249830E-08 + (tli**2) *(-3.3423487629482825E-10) +    &
     735   (tli**3) * 6.8000404742985678E-13)* LOG(satratli)**(-1) * LOG(rhoali)**(-2) +                     &
     736   (1.8381489183824627E-08 + tli *(-8.9853322951518919E-09) + (tli**2) * 7.5888799566036185E-11 +    &
     737   (tli**3) *(-1.5823457864755549E-13))* LOG(satratli)**(-1) * LOG(rhoali)**(-1) +                   &
     738   (1.1795760639695057E-07 + tli *(-8.1046722896375875E-10) + (tli**2) * 9.1868604369041857E-14 +    &
     739   (tli**3) * 4.7882428237444610E-15)* LOG(satratli)**(-1) +                                         &
     740   (-4.4028846582545952E-09 + tli * 4.6541269232626618E-11 + (tli**2) *(-1.1939929984285194E-13) +   &
     741   (tli**3) * 2.3602037016614437E-17)* LOG(satratli)**(-1) * LOG(rhoali) +                           &
     742   (2.7885056884209128E-11 + tli *(-4.5167129624119121E-13) + (tli**2) * 1.6558404997394422E-15 +    &
     743   (tli**3) *(-1.2037336621218054E-18))* LOG(satratli)**(-1) * LOG(rhoali)**2 +                      &
     744   (-2.3719627171699983E-09 + tli *(-1.5260127909292053E-07) + (tli**2) * 1.7177017944754134E-09 +   &
     745   (tli**3) *(-4.7031737537526395E-12))* LOG(rhoali)**(-2) +                                         &
     746   (-5.6946433724699646E-09 + tli * 8.4629788237081735E-09 + (tli**2) *(-1.7674135187061521E-10) +   &
     747   (tli**3) * 6.6236547903091862E-13)* LOG(rhoali)**(-1) +                                           &
     748   (-2.2808617930606012E-08 + tli * 1.4773376696847775E-10 + (tli**2) *(-1.3076953119957355E-13) +   &
     749   (tli**3) * 2.3625301497914000E-16)* LOG(rhoali) +                                                 &
     750   (1.4014269939947841E-10 + tli *(-2.3675117757377632E-12) + (tli**2) * 5.1514033966707879E-15 +    &
     751   (tli**3) *(-4.8864233454747856E-18))* LOG(rhoali)**2 +                                            &
     752   (6.5464943868885886E-11 + tli * 1.6494354816942769E-08 + (tli**2) *(-1.7480097393483653E-10) +    &
     753   (tli**3) * 4.7460075628523984E-13)* LOG(satratli)* LOG(rhoali)**(-2) +                            &
     754   (8.4737893183927871E-09 + tli *(-6.0243327445597118E-09) + (tli**2) * 5.8766070529814883E-11 +    &
     755   (tli**3) *(-1.4926748560042018E-13))* LOG(satratli)* LOG(rhoali)**(-1) +                          &
     756   (1.0761964135701397E-07 + tli *(-1.0142496009071148E-09) + (tli**2) * 2.1337312466519190E-12 +    &
     757   (tli**3) * 1.6376014957685404E-15)* LOG(satratli) +                                               &
     758   (-3.5621571395968670E-09 + tli * 4.1175339587760905E-11 + (tli**2) *(-1.3535372357998504E-13) +   &
     759   (tli**3) * 8.9334219536920720E-17)* LOG(satratli)* LOG(rhoali) +                                  &
     760   (2.0700482083136289E-11 + tli *(-3.9238944562717421E-13) + (tli**2) * 1.5850961422040196E-15 +    &
     761   (tli**3) *(-1.5336775610911665E-18))* LOG(satratli)* LOG(rhoali)**2 +                             &
     762   (1.8524255464416206E-09 + tli *(-2.1959816152743264E-11) + (tli**2) *(-6.4478119501677012E-14) +  &
     763   (tli**3) * 5.5135243833766056E-16)* LOG(satratli)**2 * LOG(rhoali)**(-1) +                        &
     764   (1.9349488650922679E-09 + tli *(-2.2647295919976428E-11) + (tli**2) * 9.2917479748268751E-14 +    &
     765   (tli**3) *(-1.2741959892173170E-16))* LOG(satratli)**2 +                                          &
     766   (2.1484978031650972E-11 + tli *(-9.3976642475838013E-14) + (tli**2) *(-4.8892738002751923E-16) +  &
     767   (tli**3) * 1.4676120441783832E-18)* LOG(satratli)**2 * LOG(rhoali) +                              &
     768   (6.7565715216420310E-13 + tli *(-3.5421162549480807E-15) + (tli**2) *(-3.4201196868693569E-18) +  &
     769   (tli**3) * 2.2260187650412392E-20)* LOG(satratli)**3 * LOG(rhoali)
    770770                   
    771771        na_i=x_i*ntot_i
  • LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/so2_to_h2so4.F90

    r5082 r5087  
    8181                 ! SO2 (molec/cm3): convert from kg/kgA
    8282                 rrak1 = tr_seri(ilon,ilev,id_SO2_strat) &
    83                       & *pplay(ilon,ilev)/t_seri(ilon,ilev)/RD/1.E6/mSO2mol
     83   *pplay(ilon,ilev)/t_seri(ilon,ilev)/RD/1.E6/mSO2mol
    8484                 
    8585                 IF (rrak1 >= 0.0) THEN
  • LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/stratdistrib.F90

    r4601 r5087  
    4141             alt=altLMDz(k)+float(i_int)*(altLMDz(k+1)-altLMDz(k))/float(n_int_alt)
    4242             f_lay_emiss(k)=f_lay_emiss(k)+1./(sqrt(2.*RPI)*sigma_alt)* &
    43                    & exp(-0.5*((alt-altemiss)/sigma_alt)**2.)* &           
    44                    & (altLMDz(k+1)-altLMDz(k))/float(n_int_alt)
     43   exp(-0.5*((alt-altemiss)/sigma_alt)**2.)* &
     44   (altLMDz(k+1)-altLMDz(k))/float(n_int_alt)
    4545          ENDDO
    4646          f_lay_sum=f_lay_sum+f_lay_emiss(k)
     
    5454       DO k=1, klev
    5555          f_lay_emiss(k)=max(min(altemiss+sigma_alt,altLMDz(k+1))- &
    56                       & max(altemiss-sigma_alt, &
    57                       & altLMDz(k)),0.)/(2.*sigma_alt)
     56   max(altemiss-sigma_alt, &
     57   altLMDz(k)),0.)/(2.*sigma_alt)
    5858          f_lay_sum=f_lay_sum+f_lay_emiss(k)
    5959       ENDDO
  • LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/stratemit.F90

    r5082 r5087  
    5454    IF (is_mpi_root) THEN
    5555       WRITE(*,*) 'IN STRATEMIT: date from phys_cal_mod=',year_cur,'-',&
    56                       &  mth_cur,'-',day_cur,'-',hour,' flh2o=',flh2o
     56    mth_cur,'-',day_cur,'-',hour,' flh2o=',flh2o
    5757    ENDIF
    5858
     
    7575               
    7676       IF (  xlat(i)>=latmin-dlat_loc .AND. &
    77          &   xlat(i)<latmax+dlat_loc .AND. &
    78          &   xlon(i)>=lonmin-dlon .AND. &
    79          &   xlon(i)<lonmax+dlon ) THEN
     77     xlat(i)<latmax+dlat_loc .AND. &
     78     xlon(i)>=lonmin-dlon .AND. &
     79     xlon(i)<lonmax+dlon ) THEN
    8080                   !
    8181          WRITE(*,*) 'coordinates of volcanic injection point=',&
    82             &    xlat(i),xlon(i),day_cur,mth_cur,year_cur
     82      xlat(i),xlon(i),day_cur,mth_cur,year_cur
    8383          WRITE(*,*) 'DD m_emiss_vol_daily=', &
    84             &    m_emiss_vol_daily
     84      m_emiss_vol_daily
    8585         
    8686          !compute altLMDz
     
    9797          IF (flag_emit==3) then
    9898             theta=(sin(theta_max/180.*RPI)-sin(theta_min/180.*RPI))/ &
    99                & (sin(xlat_max_sai/180.*RPI)-sin(xlat_min_sai/180.*RPI))
     99   (sin(xlat_max_sai/180.*RPI)-sin(xlat_min_sai/180.*RPI))
    100100          ELSE
    101101             theta=1.
     
    108108            ! stretch emission over stretchlong period
    109109            emission=m_emiss_vol_daily/m_air_gridbox(i,k)*f_lay_emiss(k)/stretchlong/ &
    110                  &     (86400.-pdt)*theta
     110       (86400.-pdt)*theta
    111111           
    112112             IF(flag_verbose_strataer) WRITE(*,*) 'IN STRATEMIT: emission avant/apres', &
    113               &  'alt= ', altLMDz(k), &
    114               &  'flh2o= ',flh2o, &
    115               &  'id_speac= ',id_spec,id_species_total, &
    116               &  'emission= ',emission, &
    117               &  'pdtphys= ',pdtphys, &
    118               &  'rapport m_emiss/m_air*f_lay= ', m_emiss_vol_daily/m_air_gridbox(i,k)*f_lay_emiss(k), &
    119               &   'stretchlong= ', stretchlong, &
    120               &   'theta= ', theta
     113    'alt= ', altLMDz(k), &
     114    'flh2o= ',flh2o, &
     115    'id_speac= ',id_spec,id_species_total, &
     116    'emission= ',emission, &
     117    'pdtphys= ',pdtphys, &
     118    'rapport m_emiss/m_air*f_lay= ', m_emiss_vol_daily/m_air_gridbox(i,k)*f_lay_emiss(k), &
     119     'stretchlong= ', stretchlong, &
     120     'theta= ', theta
    121121             
    122122             IF(emission < 1.E-34) emission = 0.0
     
    124124             IF (flh2o==0) THEN
    125125                IF(flag_verbose_strataer) WRITE(*,*) 'IN STRATEMIT: tr_ser avant/apres',&
    126                   &  'i= ',i,'k= ',k, 'flh2o= ',flh2o, &
    127                   &  tr_seri(i,k,id_spec), &
    128                   &  tr_seri(i,k,id_spec)+emission*pdtphys
     126    'i= ',i,'k= ',k, 'flh2o= ',flh2o, &
     127    tr_seri(i,k,id_spec), &
     128    tr_seri(i,k,id_spec)+emission*pdtphys
    129129             
    130130                tr_seri(i,k,id_spec)=tr_seri(i,k,id_spec)+emission*pdtphys
     
    141141               
    142142                IF(flag_verbose_strataer) WRITE(*,*) 'IN STRATEMIT: ',&
    143                      &  'i= ',i,'k= ',k, 'flh2o= ',flh2o, &
    144                      &  'emission= ',emission, &
    145                      &  'd_q_emiss(i,k)= ',d_q_emiss(i,k)
     143    'i= ',i,'k= ',k, 'flh2o= ',flh2o, &
     144    'emission= ',emission, &
     145    'd_q_emiss(i,k)= ',d_q_emiss(i,k)
    146146               
    147147                IF(d_q_emiss(i,k) > 1.E34) THEN
  • LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/sulfate_aer_mod.F90

    r5086 r5087  
    8484!       factor for converting dry to wet radius
    8585        f_r_wet(ilon,ilev) = (dens_aer_dry/(DENSO4(ilon,ilev)*1.e3)/ &
    86                    &    (R2SO4(ilon,ilev)*1.e-2))**third
     86      (R2SO4(ilon,ilev)*1.e-2))**third
    8787!    ***   End of H2SO4-H2O flat surface ***
    8888
     
    121121!            wet radius (m)
    122122             radwet = 1.e-2*RRSI(IK)*(dens_aer_dry/(denso4ik*1.e3)/ &
    123                    &    (r2so4ik*1.e-2))**third
     123      (r2so4ik*1.e-2))**third
    124124             fkelvin=exp( 2.*1.e-3*surtens*1.e-6*mvh2o / (radwet*rgas*temp) )
    125125             pph2okel=pph2ogas(ilon,ilev) / fkelvin
     
    133133!            factor for converting dry to wet radius
    134134             f_r_wetB(ilon,ilev,IK) = (dens_aer_dry/(DENSO4B(ilon,ilev,IK)*1.e3)/ &
    135                    &    (R2SO4B(ilon,ilev,IK)*1.e-2))**third
     135      (R2SO4B(ilon,ilev,IK)*1.e-2))**third
    136136!
    137137!             print*,'R,Rwet(m),kelvin,h2so4(%),ro=',RRSI(ik),radwet,fkelvin, &
     
    565565!   H2SO4 activity
    566566    DATA X/ &
    567      &   0.0,0.25,0.78,1.437,2.19,3.07,4.03,5.04,6.08 &
    568      &  ,7.13,8.18,14.33,18.59,28.59,39.17,49.49 &
    569      &  ,102.4,157.8,215.7,276.9,341.6,409.8,481.5,556.6 &
    570      &  ,635.5,719.,808.,902.,1000.,1103.,1211.,1322.,1437.,1555. &
    571      &  ,1677.,1800.,1926.,2054.,2183.,2312.,2442.,2572.,2701.,2829. &
    572      &  ,2955.,3080.,3203.,3325.,3446.,3564.,3681.,3796.,3910.,4022. &
    573      &  ,4134.,4351.,4564.,4771.,4974.,5171.,5364.,5551.,5732.,5908. &
    574      &  ,6079.,6244.,6404.,6559.,6709.,6854.,6994.,7131.,7264.,7393. &
    575      &  ,7520.,7821.,8105.,8373.,8627.,8867.,9093.,9308.,9511.,9703. &
    576      &  ,9885.,10060.,10225.,10535.,10819.,11079.,11318.,11537. &
    577      &  ,11740.,12097.,12407.,12676.,12915.,13126.,13564.,13910. &
    578      &  ,14191.,14423.,14617.,14786.,10568.,15299.,15491.,15654. &
    579      &  ,15811./
     567     0.0,0.25,0.78,1.437,2.19,3.07,4.03,5.04,6.08 &
     568    ,7.13,8.18,14.33,18.59,28.59,39.17,49.49 &
     569    ,102.4,157.8,215.7,276.9,341.6,409.8,481.5,556.6 &
     570    ,635.5,719.,808.,902.,1000.,1103.,1211.,1322.,1437.,1555. &
     571    ,1677.,1800.,1926.,2054.,2183.,2312.,2442.,2572.,2701.,2829. &
     572    ,2955.,3080.,3203.,3325.,3446.,3564.,3681.,3796.,3910.,4022. &
     573    ,4134.,4351.,4564.,4771.,4974.,5171.,5364.,5551.,5732.,5908. &
     574    ,6079.,6244.,6404.,6559.,6709.,6854.,6994.,7131.,7264.,7393. &
     575    ,7520.,7821.,8105.,8373.,8627.,8867.,9093.,9308.,9511.,9703. &
     576    ,9885.,10060.,10225.,10535.,10819.,11079.,11318.,11537. &
     577    ,11740.,12097.,12407.,12676.,12915.,13126.,13564.,13910. &
     578    ,14191.,14423.,14617.,14786.,10568.,15299.,15491.,15654. &
     579    ,15811./
    580580!   H2SO4 weight fraction (percent)
    581581    DATA XC/ &
    582      &   100.0,99.982,99.963,99.945,99.927,99.908,99.890,99.872 &
    583      &  ,99.853,99.835,99.817,99.725,99.634,99.452,99.270 &
    584      &  ,99.090,98.196,97.319,96.457,95.610,94.777,93.959,93.156 &
    585      &  ,92.365,91.588,90.824,90.073,89.334,88.607,87.892,87.188 &
    586      &  ,86.495,85.814,85.143,84.482,83.832,83.191,82.560,81.939 &
    587      &  ,81.327,80.724,80.130,79.545,78.968,78.399,77.839,77.286 &
    588      &  ,76.741,76.204,75.675,75.152,74.637,74.129,73.628,73.133 &
    589      &  ,72.164,71.220,70.300,69.404,68.530,67.678,66.847,66.037 &
    590      &  ,65.245,64.472,63.718,62.981,62.261,61.557,60.868,60.195 &
    591      &  ,59.537,58.893,58.263,57.646,56.159,54.747,53.405,52.126 &
    592      &  ,50.908,49.745,48.634,47.572,46.555,45.580,44.646,43.749 &
    593      &  ,42.059,40.495,39.043,37.691,36.430,35.251,33.107,31.209 &
    594      &  ,29.517,27.999,26.629,23.728,21.397,19.482,17.882,16.525 &
    595      &  ,15.360,13.461,11.980,10.792,9.819,8.932/
     582     100.0,99.982,99.963,99.945,99.927,99.908,99.890,99.872 &
     583    ,99.853,99.835,99.817,99.725,99.634,99.452,99.270 &
     584    ,99.090,98.196,97.319,96.457,95.610,94.777,93.959,93.156 &
     585    ,92.365,91.588,90.824,90.073,89.334,88.607,87.892,87.188 &
     586    ,86.495,85.814,85.143,84.482,83.832,83.191,82.560,81.939 &
     587    ,81.327,80.724,80.130,79.545,78.968,78.399,77.839,77.286 &
     588    ,76.741,76.204,75.675,75.152,74.637,74.129,73.628,73.133 &
     589    ,72.164,71.220,70.300,69.404,68.530,67.678,66.847,66.037 &
     590    ,65.245,64.472,63.718,62.981,62.261,61.557,60.868,60.195 &
     591    ,59.537,58.893,58.263,57.646,56.159,54.747,53.405,52.126 &
     592    ,50.908,49.745,48.634,47.572,46.555,45.580,44.646,43.749 &
     593    ,42.059,40.495,39.043,37.691,36.430,35.251,33.107,31.209 &
     594    ,29.517,27.999,26.629,23.728,21.397,19.482,17.882,16.525 &
     595    ,15.360,13.461,11.980,10.792,9.819,8.932/
    596596
    597597    DO I=1,klon
     
    776776      real, intent(in) :: T
    777777      real, parameter ::      &
    778               &  b1=1.01325e5, &
    779               &  b2=11.5,  &
    780               &  b3=1.0156e4,  &
    781               &  b4=0.38/545., &
    782               &  tref=360.15
     778    b1=1.01325e5, &
     779    b2=11.5,  &
     780    b3=1.0156e4,  &
     781    b4=0.38/545., &
     782    tref=360.15
    783783
    784784!     saturation vapor pressure ( N/m2 = Pa = kg/(m.s2) )
    785785      psh2so4_out=b1*exp(  -b2 +b3*( 1./tref-1./T  &
    786            &  +b4*(1.+log(tref/T)-tref/T) )   ) 
     786    +b4*(1.+log(tref/T)-tref/T) )   )
    787787
    788788       return
     
    818818!        saturation vapor pressure (N/m2 = 1 Pa = 1 kg/(m·s2))
    819819         psh2o_out=exp( 77.34491296  -7235.424651/T &
    820              &                 -8.2*log(T) + 5.7133e-3*T )
     820                   -8.2*log(T) + 5.7133e-3*T )
    821821      else
    822822!        Tabazadeh et al., 1997, parameterization for 185<T<260
     
    825825;
    826826         psh2o_out=18.452406985 -3505.1578807/T &
    827               &    -330918.55082/(T*T)             &
    828               &    +12725068.262/(T*T*T)
     827      -330918.55082/(T*T)             &
     828      +12725068.262/(T*T*T)
    829829!        in Pa
    830830         psh2o_out=100.*exp(psh2o_out)
     
    844844      real, intent(in) :: T, so4mfrac
    845845      real, parameter :: &
    846            &      a1= 0.7681724,&
    847            &      a2= 2.184714, &
    848            &      a3= 7.163002, &
    849            &      a4=-44.31447, &
    850            &      a5= 88.74606, &
    851            &      a6=-75.73729, &
    852            &      a7= 23.43228
     846        a1= 0.7681724,&
     847        a2= 2.184714, &
     848        a3= 7.163002, &
     849        a4=-44.31447, &
     850        a5= 88.74606, &
     851        a6=-75.73729, &
     852        a7= 23.43228
    853853      real, parameter :: &
    854            &      b1= 1.808225e-3, &
    855            &      b2=-9.294656e-3, &
    856            &      b3=-3.742148e-2, &
    857            &      b4= 2.565321e-1, &
    858            &      b5=-5.362872e-1, &
    859            &      b6= 4.857736e-1, &
    860            &      b7=-1.629592e-1
     854        b1= 1.808225e-3, &
     855        b2=-9.294656e-3, &
     856        b3=-3.742148e-2, &
     857        b4= 2.565321e-1, &
     858        b5=-5.362872e-1, &
     859        b6= 4.857736e-1, &
     860        b7=-1.629592e-1
    861861      real, parameter :: &
    862            &      c1=-3.478524e-6, &
    863            &      c2= 1.335867e-5, &
    864            &      c3= 5.195706e-5, &
    865            &      c4=-3.717636e-4, &
    866            &      c5= 7.990811e-4, &
    867            &      c6=-7.458060e-4, &
    868            &      c7= 2.581390e-4
     862        c1=-3.478524e-6, &
     863        c2= 1.335867e-5, &
     864        c3= 5.195706e-5, &
     865        c4=-3.717636e-4, &
     866        c5= 7.990811e-4, &
     867        c6=-7.458060e-4, &
     868        c7= 2.581390e-4
    869869      real :: a,b,c,so4m2,so4m3,so4m4,so4m5,so4m6
    870870     
     
    876876
    877877      a=+a1+a2*so4mfrac+a3*so4m2+a4*so4m3 &
    878          &     +a5*so4m4+a6*so4m5+a7*so4m6
     878       +a5*so4m4+a6*so4m5+a7*so4m6
    879879      b=+b1+b2*so4mfrac+b3*so4m2+b4*so4m3 &
    880          &     +b5*so4m4+b6*so4m5+b7*so4m6
     880       +b5*so4m4+b6*so4m5+b7*so4m6
    881881      c=+c1+c2*so4mfrac+c3*so4m2+c4*so4m3 &
    882          &     +c5*so4m4+c6*so4m5+c7*so4m6
     882       +c5*so4m4+c6*so4m5+c7*so4m6
    883883      density_out=(a+b*T+c*T*T) ! units are gm/cm**3
    884884
     
    895895      real :: a,b,so4mfrac,so4m2,so4m3,so4m4,so4m5,so4sig
    896896      real, parameter :: &
    897             &     a1= 0.11864, &
    898             &     a2=-0.11651, &
    899             &     a3= 0.76852, &
    900             &     a4=-2.40909, &
    901             &     a5= 2.95434, &
    902             &     a6=-1.25852
     897       a1= 0.11864, &
     898       a2=-0.11651, &
     899       a3= 0.76852, &
     900       a4=-2.40909, &
     901       a5= 2.95434, &
     902       a6=-1.25852
    903903      real, parameter :: &
    904             &     b1=-1.5709e-4, &
    905             &     b2= 4.0102e-4, &
    906             &     b3=-2.3995e-3, &
    907             &     b4= 7.611235e-3, &
    908             &     b5=-9.37386e-3, &
    909             &     b6= 3.89722e-3
     904       b1=-1.5709e-4, &
     905       b2= 4.0102e-4, &
     906       b3=-2.3995e-3, &
     907       b4= 7.611235e-3, &
     908       b5=-9.37386e-3, &
     909       b6= 3.89722e-3
    910910      real, parameter :: convfac=1.e3  ! convert from newton/m to dyne/cm
    911911      real, parameter :: Mw=18.01528, Ma=98.079
     
    957957            if(aw <= 0.05 .and. aw > 0.) then
    958958               y1=12.372089320*aw**(-0.16125516114) &
    959                  &  -30.490657554*aw -2.1133114241
     959    -30.490657554*aw -2.1133114241
    960960               y2=13.455394705*aw**(-0.19213122550) &
    961                  &  -34.285174607*aw -1.7620073078
     961    -34.285174607*aw -1.7620073078
    962962            else if(aw <= 0.85 .and. aw > 0.05) then
    963963               y1=11.820654354*aw**(-0.20786404244) &
    964                  &  -4.8073063730*aw -5.1727540348
     964    -4.8073063730*aw -5.1727540348
    965965               y2=12.891938068*aw**(-0.23233847708) &
    966                  &  -6.4261237757*aw -4.9005471319
     966    -6.4261237757*aw -4.9005471319
    967967            else
    968968               y1=-180.06541028*aw**(-0.38601102592) &
    969                  &  -93.317846778*aw +273.88132245
     969    -93.317846778*aw +273.88132245
    970970               y2=-176.95814097*aw**(-0.36257048154) &
    971                  &  -90.469744201*aw +267.45509988
     971    -90.469744201*aw +267.45509988
    972972            end if
    973973!        h2so4 molality (m=moles of h2so4 (solute)/ kg of h2o(solvent))
     
    10291029      real, intent(in) :: T, ws
    10301030      real, dimension(22),parameter :: x=(/  &
    1031        & 2.393284E-02,-4.359335E-05,7.961181E-08,0.0,-0.198716351, &
    1032        & 1.39564574E-03,-2.020633E-06,0.51684706,-3.0539E-03,4.505475E-06, &
    1033        & -0.30119511,1.840408E-03,-2.7221253742E-06,-0.11331674116, &
    1034        & 8.47763E-04,-1.22336185E-06,0.3455282,-2.2111E-03,3.503768245E-06, &
    1035        & -0.2315332,1.60074E-03,-2.5827835E-06/)
     1031   2.393284E-02,-4.359335E-05,7.961181E-08,0.0,-0.198716351, &
     1032   1.39564574E-03,-2.020633E-06,0.51684706,-3.0539E-03,4.505475E-06, &
     1033   -0.30119511,1.840408E-03,-2.7221253742E-06,-0.11331674116, &
     1034   8.47763E-04,-1.22336185E-06,0.3455282,-2.2111E-03,3.503768245E-06, &
     1035   -0.2315332,1.60074E-03,-2.5827835E-06/)
    10361036     
    10371037      real :: w
  • LMDZ6/branches/Amaury_dev/libf/phylmd/StratAer/traccoag_mod.F90

    r5082 r5087  
    1111   
    1212    USE phys_local_var_mod, ONLY: mdw, R2SO4, DENSO4, f_r_wet, surf_PM25_sulf, &
    13         & budg_emi_ocs, budg_emi_so2, budg_emi_h2so4, budg_emi_part, &
    14         & R2SO4B, DENSO4B, f_r_wetB, sulfmmr, SAD_sulfate, sulfmmr_mode, nd_mode
     13   budg_emi_ocs, budg_emi_so2, budg_emi_h2so4, budg_emi_part, &
     14   R2SO4B, DENSO4B, f_r_wetB, sulfmmr, SAD_sulfate, sulfmmr_mode, nd_mode
    1515   
    1616    USE dimphy
     
    340340          !and are dry at T = 20 deg. C and 50 perc. humidity
    341341          surf_PM25_sulf(i)=surf_PM25_sulf(i)+tr_seri(i,1,it+nbtr_sulgas) &
    342                            & *132./98.*dens_aer_dry*4./3.*RPI*(mdw(it)/2.)**3 &
    343                            & *pplay(i,1)/t_seri(i,1)/RD*1.e9
     342   *132./98.*dens_aer_dry*4./3.*RPI*(mdw(it)/2.)**3 &
     343   *pplay(i,1)/t_seri(i,1)/RD*1.e9
    344344        ENDIF
    345345      ENDDO
     
    366366              !     equivalent to condensed H2SO4 mmr= H2SO4 kg / kgA in bin it
    367367              sulfmmr_mode(i,j,it) = tr_seri(i,j,it+nbtr_sulgas) &        ! [DRY part/kgA in bin it]
    368                    &  *(4./3.)*RPI*(mdw(it)/2.)**3.   &                   ! [mdw: dry diameter in m]
    369                    &  *dens_aer_dry                                       ! [dry aerosol mass density in kg/m3]
     368    *(4./3.)*RPI*(mdw(it)/2.)**3.   &                   ! [mdw: dry diameter in m]
     369    *dens_aer_dry                                       ! [dry aerosol mass density in kg/m3]
    370370             
    371371              !     sulfmmr: Sulfate aerosol concentration (dry mass mixing ratio)
     
    375375              !     nd_mode: particle concentration in different modes (DRY part/m3)
    376376              nd_mode(i,j,it) = tr_seri(i,j,it+nbtr_sulgas) &             ! [DRY part/kgA in bin it]
    377                    & *pplay(i,j)/t_seri(i,j)/RD                           ! [air mass concentration in kg air /m3A]
     377   *pplay(i,j)/t_seri(i,j)/RD                           ! [air mass concentration in kg air /m3A]
    378378             
    379379              IF(flag_new_strat_compo) THEN
    380380                 !     SAD_sulfate: SAD WET sulfate aerosols (cm2/cm3)
    381381                 SAD_sulfate(i,j) = SAD_sulfate(i,j) + nd_mode(i,j,it) &     ! [DRY part/m3A (in bin it)]
    382                       &  *4.*RPI*( mdw(it)*f_r_wetB(i,j,it)/2. )**2. &       ! [WET SA of part it in m2]
    383                       &  *1.e-2                                              ! conversion from m2/m3 to cm2/cm3A
     382    *4.*RPI*( mdw(it)*f_r_wetB(i,j,it)/2. )**2. &       ! [WET SA of part it in m2]
     383    *1.e-2                                              ! conversion from m2/m3 to cm2/cm3A
    384384              ELSE
    385385                 !     SAD_sulfate: SAD WET sulfate aerosols (cm2/cm3)
    386386                 SAD_sulfate(i,j) = SAD_sulfate(i,j) + nd_mode(i,j,it) &     ! [DRY part/m3A (in bin it)]
    387                       &  *4.*RPI*( mdw(it)*f_r_wet(i,j)/2. )**2. &           ! [WET SA of part it in m2]
    388                       &  *1.e-2                                              ! conversion from m2/m3 to cm2/cm3A
     387    *4.*RPI*( mdw(it)*f_r_wet(i,j)/2. )**2. &           ! [WET SA of part it in m2]
     388    *1.e-2                                              ! conversion from m2/m3 to cm2/cm3A
    389389              ENDIF
    390390           ENDDO
  • LMDZ6/branches/Amaury_dev/libf/phylmd/add_phys_tend_mod.F90

    r5081 r5087  
    107107USE cmp_seri_mod
    108108USE phys_output_var_mod, ONLY : d_qw_col, d_ql_col, d_qs_col, d_qbs_col, d_qt_col, d_ek_col, d_h_dair_col &
    109   &           , d_h_qw_col, d_h_ql_col, d_h_qs_col, d_h_qbs_col, d_h_col
     109             , d_h_qw_col, d_h_ql_col, d_h_qs_col, d_h_qbs_col, d_h_col
    110110IMPLICIT none
    111111INCLUDE "YOMCST.h"
     
    390390          print*,'PLANTAGE2 POUR LE POINT i itap lon lat txt jbad zdt t',&
    391391                 i,itap,longitude_deg(i),latitude_deg(i),text,jbad, &
    392        &        zdt(i,k),t_seri(i,k)-zdt(i,k)
     392          zdt(i,k),t_seri(i,k)-zdt(i,k)
    393393!!!       if(prt_level.ge.10.and.itap.GE.229.and.i.EQ.3027) THEN
    394394          print*,'l    T     dT       Q     dQ    '
     
    408408          print*,'WARNING  : EAU2 POUR LE POINT i itap lon lat txt jqbad zdq q zdql ql',&
    409409                 i,itap,longitude_deg(i),latitude_deg(i),text,jqbad,&
    410        &        zdq(i,k), q_seri(i,k)-zdq(i,k), zdql(i,k), ql_seri(i,k)-zdql(i,k)
     410          zdq(i,k), q_seri(i,k)-zdq(i,k), zdql(i,k), ql_seri(i,k)-zdql(i,k)
    411411!!!       if(prt_level.ge.10.and.itap.GE.229.and.i.EQ.3027) THEN
    412412          print*,'l    T     dT       Q     dQ    '
     
    508508USE cmp_seri_mod
    509509USE phys_output_var_mod, ONLY : d_qw_col, d_ql_col, d_qs_col, d_qbs_col, d_qt_col, d_ek_col, d_h_dair_col &
    510   &           , d_h_qw_col, d_h_ql_col, d_h_qs_col, d_h_qbs_col, d_h_col
     510             , d_h_qw_col, d_h_ql_col, d_h_qs_col, d_h_qbs_col, d_h_col
    511511IMPLICIT none
    512512  include "YOMCST.h"
     
    735735USE cmp_seri_mod
    736736USE phys_output_var_mod, ONLY : d_qw_col, d_ql_col, d_qs_col, d_qbs_col, d_qt_col, d_ek_col, d_h_dair_col &
    737   &           , d_h_qw_col, d_h_ql_col, d_h_qs_col, d_h_qbs_col, d_h_col
     737             , d_h_qw_col, d_h_ql_col, d_h_qs_col, d_h_qbs_col, d_h_col
    738738USE phys_local_var_mod, ONLY: evap, sens
    739739USE phys_local_var_mod, ONLY: u_seri, v_seri, ql_seri, qs_seri, qbs_seri, q_seri, t_seri &
    740    & , rain_lsc, snow_lsc
     740    , rain_lsc, snow_lsc
    741741USE climb_hq_mod, ONLY : d_h_col_vdf, f_h_bnd
    742742IMPLICIT none
     
    773773      bilq_bnd = - rain_lsc(1) - snow_lsc(1)
    774774      bilh_bnd = (-(rcw-rcpd)*t_seri(1,1) + rlvtt) * rain_lsc(1) &
    775            + (-(rcs-rcpd)*t_seri(1,1) + rlstt) * snow_lsc(1)
     775           + (-(rcs-rcpd)*t_seri(1,1) + rlstt) * snow_lsc(1)
    776776  CASE("bsss") param
    777777      bilq_bnd = - bs_fall(1)
     
    780780      bilq_bnd = - rain_con(1) - snow_con(1)
    781781      bilh_bnd = (-(rcw-rcpd)*t_seri(1,1) + rlvtt) * rain_con(1) &
    782            + (-(rcs-rcpd)*t_seri(1,1) + rlstt) * snow_con(1)
     782           + (-(rcs-rcpd)*t_seri(1,1) + rlstt) * snow_con(1)
    783783  CASE("SW") param
    784784      bilh_bnd = topsw(1) - solsw(1)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/albsno.F90

    r3102 r5087  
    5656  DO i = 1, knon
    5757     agesno(i)  = (agesno(i) + (1.-agesno(i)/50.)*dtime/86400.)&
    58           &             * EXP(-1.*MAX(0.0,precip_snow(i))*dtime/0.3)
     58               * EXP(-1.*MAX(0.0,precip_snow(i))*dtime/0.3)
    5959     agesno(i) =  MAX(agesno(i),0.0)
    6060  ENDDO
  • LMDZ6/branches/Amaury_dev/libf/phylmd/calltherm.F90

    r5082 r5087  
    33!
    44      subroutine calltherm(dtime  &
    5      &      ,pplay,paprs,pphi,weak_inversion  &
    6      &      ,u_seri_,v_seri_,t_seri_,q_seri_,t_env,q_env,zqsat,debut  &
    7      &      ,d_u_ajs,d_v_ajs,d_t_ajs,d_q_ajs  &
    8      &    ,fm_therm,entr_therm,detr_therm,zqasc,clwcon0,lmax,ratqscth,&
    9      &       ratqsdiff,zqsatth,ale_bl,alp_bl,lalim_conv,wght_th, &
    10      &       zmax0,f0,zw2,fraca,ztv,zpspsk,ztla,zthl &
     5        ,pplay,paprs,pphi,weak_inversion  &
     6        ,u_seri_,v_seri_,t_seri_,q_seri_,t_env,q_env,zqsat,debut  &
     7        ,d_u_ajs,d_v_ajs,d_t_ajs,d_q_ajs  &
     8      ,fm_therm,entr_therm,detr_therm,zqasc,clwcon0,lmax,ratqscth,&
     9         ratqsdiff,zqsatth,ale_bl,alp_bl,lalim_conv,wght_th, &
     10         zmax0,f0,zw2,fraca,ztv,zpspsk,ztla,zthl &
    1111!!! nrlmd le 10/04/2012
    12      &      ,pbl_tke,pctsrf,omega,airephy &
    13      &      ,zlcl_th,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 &
    14      &      ,n2,s2,strig,zcong,ale_bl_stat &
    15      &      ,therm_tke_max,env_tke_max &
    16      &      ,alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke &
    17      &      ,alp_bl_conv,alp_bl_stat &
     12        ,pbl_tke,pctsrf,omega,airephy &
     13        ,zlcl_th,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 &
     14        ,n2,s2,strig,zcong,ale_bl_stat &
     15        ,therm_tke_max,env_tke_max &
     16        ,alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke &
     17        ,alp_bl_conv,alp_bl_stat &
    1818!!! fin nrlmd le 10/04/2012
    19      &      ,zqla,ztva &
     19        ,zqla,ztva &
    2020#ifdef ISO         
    21      &      ,xt_seri,d_xt_ajs &
     21        ,xt_seri,d_xt_ajs &
    2222#ifdef DIAGISO         
    23      &      ,q_the,xt_the &
     23        ,q_the,xt_the &
    2424#endif
    2525#endif         
    26      &   )
     26     )
    2727
    2828      USE dimphy
     
    239239      if (iso_eau.gt.0) then
    240240       call iso_verif_egalite_vect2D( &
    241      &           xt_seri,q_seri, &
    242      &           'calltherm 174',ntiso,klon,klev)
     241             xt_seri,q_seri, &
     242             'calltherm 174',ntiso,klon,klev)
    243243      endif !if (iso_eau.gt.0) then
    244244#endif   
     
    251251          if (iflag_thermals>=1000) then
    252252            CALL thermcell_2002(klon,klev,zdt,iflag_thermals   &
    253      &      ,pplay,paprs,pphi  &
    254      &      ,u_seri,v_seri,t_seri,q_seri  &
    255      &      ,d_u_the,d_v_the,d_t_the,d_q_the  &
    256      &      ,zfm_therm,zentr_therm,fraca,zw2  &
    257      &      ,r_aspect_thermals,30.,w2di_thermals  &
    258      &      ,tau_thermals)
     253        ,pplay,paprs,pphi  &
     254        ,u_seri,v_seri,t_seri,q_seri  &
     255        ,d_u_the,d_v_the,d_t_the,d_q_the  &
     256        ,zfm_therm,zentr_therm,fraca,zw2  &
     257        ,r_aspect_thermals,30.,w2di_thermals  &
     258        ,tau_thermals)
    259259          else if (iflag_thermals==2) then
    260260            CALL thermcell_sec(klon,klev,zdt  &
    261      &      ,pplay,paprs,pphi,zlev  &
    262      &      ,u_seri,v_seri,t_seri,q_seri  &
    263      &      ,d_u_the,d_v_the,d_t_the,d_q_the  &
    264      &      ,zfm_therm,zentr_therm  &
    265      &      ,r_aspect_thermals,30.,w2di_thermals  &
    266      &      ,tau_thermals)
     261        ,pplay,paprs,pphi,zlev  &
     262        ,u_seri,v_seri,t_seri,q_seri  &
     263        ,d_u_the,d_v_the,d_t_the,d_q_the  &
     264        ,zfm_therm,zentr_therm  &
     265        ,r_aspect_thermals,30.,w2di_thermals  &
     266        ,tau_thermals)
    267267          else if (iflag_thermals==3) then
    268268            CALL thermcell(klon,klev,zdt  &
    269      &      ,pplay,paprs,pphi  &
    270      &      ,u_seri,v_seri,t_seri,q_seri  &
    271      &      ,d_u_the,d_v_the,d_t_the,d_q_the  &
    272      &      ,zfm_therm,zentr_therm  &
    273      &      ,r_aspect_thermals,l_mix_thermals,w2di_thermals  &
    274      &      ,tau_thermals)
     269        ,pplay,paprs,pphi  &
     270        ,u_seri,v_seri,t_seri,q_seri  &
     271        ,d_u_the,d_v_the,d_t_the,d_q_the  &
     272        ,zfm_therm,zentr_therm  &
     273        ,r_aspect_thermals,l_mix_thermals,w2di_thermals  &
     274        ,tau_thermals)
    275275          else if (iflag_thermals==10) then
    276276            CALL thermcell_eau(klon,klev,zdt  &
    277      &      ,pplay,paprs,pphi  &
    278      &      ,u_seri,v_seri,t_seri,q_seri  &
    279      &      ,d_u_the,d_v_the,d_t_the,d_q_the  &
    280      &      ,zfm_therm,zentr_therm  &
    281      &      ,r_aspect_thermals,l_mix_thermals,w2di_thermals  &
    282      &      ,tau_thermals)
     277        ,pplay,paprs,pphi  &
     278        ,u_seri,v_seri,t_seri,q_seri  &
     279        ,d_u_the,d_v_the,d_t_the,d_q_the  &
     280        ,zfm_therm,zentr_therm  &
     281        ,r_aspect_thermals,l_mix_thermals,w2di_thermals  &
     282        ,tau_thermals)
    283283          else if (iflag_thermals==11) then
    284284              abort_message = 'cas non prevu dans calltherm'
     
    286286          else if (iflag_thermals==12) then
    287287            CALL calcul_sec(klon,klev,zdt  &
    288      &      ,pplay,paprs,pphi,zlev  &
    289      &      ,u_seri,v_seri,t_seri,q_seri  &
    290      &      ,zmax_sec,wmax_sec,zw_sec,lmix_sec  &
    291      &      ,r_aspect_thermals,l_mix_thermals,w2di_thermals  &
    292      &      ,tau_thermals)
     288        ,pplay,paprs,pphi,zlev  &
     289        ,u_seri,v_seri,t_seri,q_seri  &
     290        ,zmax_sec,wmax_sec,zw_sec,lmix_sec  &
     291        ,r_aspect_thermals,l_mix_thermals,w2di_thermals  &
     292        ,tau_thermals)
    293293          else if (iflag_thermals==13.or.iflag_thermals==14) then
    294294              abort_message = 'thermcellV0_main enleve svn>2084'
     
    296296          else if (new_thermcell) then
    297297            CALL thermcell_main(itap,klon,klev,zdt  &
    298      &      ,pplay,paprs,pphi,debut  &
    299      &      ,u_seri,v_seri,t_seri,q_seri,t_env,q_env  &
    300      &      ,d_u_the,d_v_the,d_t_the,d_q_the  &
    301      &      ,zfm_therm,zentr_therm,zdetr_therm,zqasc,zqla,lmax  &
    302      &      ,ratqscth,ratqsdiff,zqsatth  &
    303      &      ,zmax0,f0,zw2,fraca,ztv,zpspsk &
    304      &      ,ztla,zthl,ztva &
    305      &      ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax,zcong &
     298        ,pplay,paprs,pphi,debut  &
     299        ,u_seri,v_seri,t_seri,q_seri,t_env,q_env  &
     300        ,d_u_the,d_v_the,d_t_the,d_q_the  &
     301        ,zfm_therm,zentr_therm,zdetr_therm,zqasc,zqla,lmax  &
     302        ,ratqscth,ratqsdiff,zqsatth  &
     303        ,zmax0,f0,zw2,fraca,ztv,zpspsk &
     304        ,ztla,zthl,ztva &
     305        ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax,zcong &
    306306#ifdef ISO         
    307      &      ,xt_seri,d_xt_the &
     307        ,xt_seri,d_xt_the &
    308308#endif         
    309      &   )
     309     )
    310310
    311311            CALL thermcell_alp(klon,klev,zdt  &                      ! in
    312      &        ,pplay,paprs  &                                        ! in
    313      &        ,zfm_therm,zentr_therm,lmax  &                         ! in
    314      &        ,pbl_tke,pctsrf,omega,airephy &                        ! in
    315      &        ,zw2,fraca &                                           ! in
    316      &        ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax &  ! in
    317      &        ,zcong,ale,alp,lalim_conv,wght_th &                          ! out
    318      &        ,zlcl_th,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 &! out
    319      &        ,n2,s2,strig,ale_bl_stat &                                   ! out
    320      &        ,therm_tke_max,env_tke_max &                           ! out
    321      &        ,alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke &          ! out
    322      &        ,alp_bl_conv,alp_bl_stat &                             ! out
    323      &        )
     312          ,pplay,paprs  &                                        ! in
     313          ,zfm_therm,zentr_therm,lmax  &                         ! in
     314          ,pbl_tke,pctsrf,omega,airephy &                        ! in
     315          ,zw2,fraca &                                           ! in
     316          ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax &  ! in
     317          ,zcong,ale,alp,lalim_conv,wght_th &                          ! out
     318          ,zlcl_th,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 &! out
     319          ,n2,s2,strig,ale_bl_stat &                                   ! out
     320          ,therm_tke_max,env_tke_max &                           ! out
     321          ,alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke &          ! out
     322          ,alp_bl_conv,alp_bl_stat &                             ! out
     323          )
    324324
    325325           if (prt_level>10) write(lunout,*)'Apres thermcell_main OK'
     
    366366            d_q_the(:,k)=d_q_the(:,k)*dtime*fact(:)
    367367            fm_therm(:,k)=fm_therm(:,k)  &
    368      &      +zfm_therm(:,k)*fact(:)
     368        +zfm_therm(:,k)*fact(:)
    369369            entr_therm(:,k)=entr_therm(:,k)  &
    370      &       +zentr_therm(:,k)*fact(:)
     370         +zentr_therm(:,k)*fact(:)
    371371            detr_therm(:,k)=detr_therm(:,k)  &
    372      &       +zdetr_therm(:,k)*fact(:)
     372         +zdetr_therm(:,k)*fact(:)
    373373#ifdef ISO
    374374            do ixt=1,ntiso
     
    409409!     &   d_xt_the(iso_hdo,i,k),d_q_the(i,k)
    410410      call iso_verif_aberrant_enc_vect2D( &
    411      &        xt_seri,q_seri, &
    412      &        'calltherm 353, apres ajout d_xt_the',ntiso,klon,klev)
     411          xt_seri,q_seri, &
     412          'calltherm 353, apres ajout d_xt_the',ntiso,klon,klev)
    413413      endif     
    414414#endif
     
    451451      if (iso_HDO.gt.0) then
    452452      call iso_verif_aberrant_enc_vect2D( &
    453      &        xt_seri,q_seri, &
    454      &        'calltherm 393, apres bidouille q<0',ntiso,klon,klev)
     453          xt_seri,q_seri, &
     454          'calltherm 393, apres bidouille q<0',ntiso,klon,klev)
    455455      endif     
    456456#endif
     
    489489                  endif
    490490                  detrc_therm(i,k)=(fmc_therm(i,k+1)-fm_therm(i,k+1))  &
    491      &                 -(fmc_therm(i,k)-fm_therm(i,k))
     491                   -(fmc_therm(i,k)-fm_therm(i,k))
    492492               enddo
    493493            enddo
     
    504504            if (fmc_therm(i,k+1)>1.e-6) then
    505505               zqasc(i,k)=(fmc_therm(i,k)*zqasc(i,k-1)  &
    506      &              +entr_therm(i,k)*q_seri(i,k))/fmc_therm(i,k+1)
     506                +entr_therm(i,k)*q_seri(i,k))/fmc_therm(i,k+1)
    507507!CR:test on asseche le thermique
    508508!               zqasc(i,k)=zqasc(i,k)/2.
     
    520520                   clwcon0(i,k)=zqasc(i,k)-zqsat(i,k)
    521521                   if (clwcon0(i,k)<0. .or.   &
    522      &             (fm_therm(i,k+1)+detrc_therm(i,k))<1.e-6) then
     522               (fm_therm(i,k+1)+detrc_therm(i,k))<1.e-6) then
    523523                      clwcon0(i,k)=0.
    524524                   endif
     
    530530                   clwcon0(i,k)=zqla(i,k) 
    531531                   if (clwcon0(i,k)<0. .or.   &
    532      &             (fm_therm(i,k+1)+detrc_therm(i,k))<1.e-6) then
     532               (fm_therm(i,k+1)+detrc_therm(i,k))<1.e-6) then
    533533                   clwcon0(i,k)=0.
    534534                   endif
  • LMDZ6/branches/Amaury_dev/libf/phylmd/cdrag_mod.F90

    r5082 r5087  
    407407                  PH=0.5802-0.1571*MU+0.0327*(MU**2)-0.0026*(MU**3)
    408408                  CH=CHstar*B*CKAP/LOG(z0m(i)+zgeop1(i)/(RG*z0m(i))) &
    409                      & * CKAPT/LOG(z0h(i)+zgeop1(i)/(RG*z0h(i)))       &
    410                      & * ((zgeop1(i)/(RG*z0h(i)))**PH)
     409   * CKAPT/LOG(z0h(i)+zgeop1(i)/(RG*z0h(i)))       &
     410   * ((zgeop1(i)/(RG*z0h(i)))**PH)
    411411                  CM=CMstar*B*CKAP/LOG(z0m(i)+zgeop1(i)/(RG*z0m(i))) &
    412                      & *CKAP/LOG(z0m(i)+zgeop1(i)/(RG*z0m(i)))         &
    413                      & * ((zgeop1(i)/(RG*z0m(i)))**PM)
     412   *CKAP/LOG(z0m(i)+zgeop1(i)/(RG*z0m(i)))         &
     413   * ((zgeop1(i)/(RG*z0m(i)))**PM)
    414414                  FM(i)=1.-B*zri(i)/(1.+CM*SQRT(ABS(zri(i))))
    415415                  FH(i)=1.-B*zri(i)/(1.+CH*SQRT(ABS(zri(i))))
     
    561561                PH=0.5802-0.1571*MU+0.0327*(MU**2)-0.0026*(MU**3)
    562562                CH=CHstar*B*CKAP/LOG(z0m(i)+zgeop1(i)/(RG*z0m(i))) &
    563                    & * CKAPT/LOG(z0h(i)+zgeop1(i)/(RG*z0h(i)))       &
    564                    & * ((zgeop1(i)/(RG*z0h(i)))**PH)
     563   * CKAPT/LOG(z0h(i)+zgeop1(i)/(RG*z0h(i)))       &
     564   * ((zgeop1(i)/(RG*z0h(i)))**PH)
    565565                CM=CMstar*B*CKAP/LOG(z0m(i)+zgeop1(i)/(RG*z0m(i))) &
    566                    & *CKAP/LOG(z0m(i)+zgeop1(i)/(RG*z0m(i)))         &
    567                    & * ((zgeop1(i)/(RG*z0m(i)))**PM)
     566   *CKAP/LOG(z0m(i)+zgeop1(i)/(RG*z0m(i)))         &
     567   * ((zgeop1(i)/(RG*z0m(i)))**PM)
    568568                FM(i)=1.-B*zri(i)/(1.+CM*SQRT(ABS(zri(i))))
    569569                FH(i)=1.-B*zri(i)/(1.+CH*SQRT(ABS(zri(i))))
  • LMDZ6/branches/Amaury_dev/libf/phylmd/cosp/lidar_simulator.F90

    r5082 r5087  
    378378!     opt. thick of each layer
    379379      tau_mol(:,1:nlev) = alpha_mol(:,1:nlev) &
    380          & *(zheight(:,2:nlev+1)-zheight(:,1:nlev))
     380   *(zheight(:,2:nlev+1)-zheight(:,1:nlev))
    381381!     opt. thick from TOA
    382382      DO k = nlev-1, 1, -1
     
    390390!       opt. thick of each layer
    391391        tau_part(:,:,i) = tau_part(:,:,i) &
    392            & * (zheight(:,2:nlev+1)-zheight(:,1:nlev) )
     392   * (zheight(:,2:nlev+1)-zheight(:,1:nlev) )
    393393!       opt. thick from TOA
    394394        DO k = nlev-1, 1, -1
     
    400400!      Upper layer
    401401       pmol(:,nlev) = beta_mol(:,nlev) / (2.*tau_mol(:,nlev)) &
    402             & * (1.-exp(-2.0*tau_mol(:,nlev)))
     402   * (1.-exp(-2.0*tau_mol(:,nlev)))
    403403!      Other layers
    404404       DO k= nlev-1, 1, -1
     
    406406        WHERE (tau_mol_lay(:)>0.)
    407407          pmol(:,k) = beta_mol(:,k) * EXP(-2.0*tau_mol(:,k+1)) / (2.*tau_mol_lay(:)) &
    408             & * (1.-exp(-2.0*tau_mol_lay(:)))
     408   * (1.-exp(-2.0*tau_mol_lay(:)))
    409409        ELSEWHERE
    410410!         This must never happend, but just in case, to avoid div. by 0
     
    429429!     Upper layer
    430430      pnorm(:,nlev) = betatot(:,nlev) / (2.*tautot(:,nlev)) &
    431             & * (1.-exp(-2.0*tautot(:,nlev)))
     431   * (1.-exp(-2.0*tautot(:,nlev)))
    432432
    433433!     Other layers
     
    436436        WHERE (tautot_lay(:)>0.)
    437437          pnorm(:,k) = betatot(:,k) * EXP(-2.0*tautot(:,k+1)) / (2.*tautot_lay(:)) &
    438                & * (1.-EXP(-2.0*tautot_lay(:)))
     438   * (1.-EXP(-2.0*tautot_lay(:)))
    439439        ELSEWHERE
    440440!         This must never happend, but just in case, to avoid div. by 0
     
    468468!     Upper layer
    469469      pnorm_ice(:,nlev) = betatot_ice(:,nlev) / (2.*tautot_ice(:,nlev)) &
    470             & * (1.-exp(-2.0*tautot_ice(:,nlev)))
     470   * (1.-exp(-2.0*tautot_ice(:,nlev)))
    471471
    472472      DO k= nlev-1, 1, -1
     
    474474        WHERE (tautot_lay_ice(:)>0.)
    475475         pnorm_ice(:,k)=betatot_ice(:,k)*EXP(-2.0*tautot_ice(:,k+1))/(2.*tautot_lay_ice(:)) &
    476                & * (1.-EXP(-2.0*tautot_lay_ice(:)))
     476   * (1.-EXP(-2.0*tautot_lay_ice(:)))
    477477        ELSEWHERE
    478478         pnorm_ice(:,k)=betatot_ice(:,k)*EXP(-2.0*tautot_ice(:,k+1))
     
    483483!     Upper layer
    484484      pnorm_liq(:,nlev) = betatot_liq(:,nlev) / (2.*tautot_liq(:,nlev)) &
    485             & * (1.-exp(-2.0*tautot_liq(:,nlev)))
     485   * (1.-exp(-2.0*tautot_liq(:,nlev)))
    486486
    487487      DO k= nlev-1, 1, -1
     
    489489        WHERE (tautot_lay_liq(:)>0.)
    490490          pnorm_liq(:,k)=betatot_liq(:,k)*EXP(-2.0*tautot_liq(:,k+1))/(2.*tautot_lay_liq(:)) &
    491                & * (1.-EXP(-2.0*tautot_lay_liq(:)))
     491   * (1.-EXP(-2.0*tautot_lay_liq(:)))
    492492        ELSEWHERE
    493493          pnorm_liq(:,k)=betatot_liq(:,k)*EXP(-2.0*tautot_liq(:,k+1))
     
    510510!     Upper layer
    511511      beta_perp_ice(:,nlev) = pnorm_perp_ice(:,nlev) * (2.*tautot_ice(:,nlev)) &
    512             & / (1.-exp(-2.0*tautot_ice(:,nlev)))
     512   / (1.-exp(-2.0*tautot_ice(:,nlev)))
    513513
    514514      DO k= nlev-1, 1, -1
     
    516516        WHERE (tautot_lay_ice(:)>0.)
    517517         beta_perp_ice(:,k) = pnorm_perp_ice(:,k)/ EXP(-2.0*tautot_ice(:,k+1)) * (2.*tautot_lay_ice(:)) &
    518             & / (1.-exp(-2.0*tautot_lay_ice(:)))
     518   / (1.-exp(-2.0*tautot_lay_ice(:)))
    519519
    520520        ELSEWHERE
     
    526526!     Upper layer
    527527      beta_perp_liq(:,nlev) = pnorm_perp_liq(:,nlev) * (2.*tautot_liq(:,nlev)) &
    528             & / (1.-exp(-2.0*tautot_liq(:,nlev)))
     528   / (1.-exp(-2.0*tautot_liq(:,nlev)))
    529529
    530530      DO k= nlev-1, 1, -1
     
    532532        WHERE (tautot_lay_liq(:)>0.)
    533533         beta_perp_liq(:,k) = pnorm_perp_liq(:,k)/ max(seuil,EXP(-2.0*tautot_liq(:,k+1))) &
    534             & * (2.*tautot_lay_liq(:)) / (1.-exp(-2.0*tautot_lay_liq(:)))
     534   * (2.*tautot_lay_liq(:)) / (1.-exp(-2.0*tautot_lay_liq(:)))
    535535
    536536        ELSEWHERE
     
    550550          pnorm_perp_tot(:,nlev) = &
    551551              (beta_perp_ice(:,nlev)+beta_perp_liq(:,nlev)-(beta_mol(:,nlev)/(1+1/0.0284))) / (2.*tautot(:,nlev)) &
    552               & * (1.-exp(-2.0*tautot(:,nlev)))
     552   * (1.-exp(-2.0*tautot(:,nlev)))
    553553    ELSEWHERE
    554554    pnorm_perp_tot(:,nlev) = 0.
     
    570570                          (beta_perp_ice(:,k)+beta_perp_liq(:,k)-(beta_mol(:,k)/(1+1/0.0284))) * &
    571571                          EXP(-2.0*tautot(:,k+1)) / (2.*tautot_lay(:)) &
    572                           & * (1.-EXP(-2.0*tautot_lay(:)))
     572   * (1.-EXP(-2.0*tautot_lay(:)))
    573573                    ELSEWHERE
    574574          !         This must never happen, but just in case, to avoid div. by 0
  • LMDZ6/branches/Amaury_dev/libf/phylmd/cosp2/cosp_optics.F90

    r5082 r5087  
    391391          ! Optical thickness of each layer (particles)
    392392          tau_part(1:npoints,icol,1:nlev,i) = tau_part(1:npoints,icol,1:nlev,i) &
    393                & * (zheight(1:npoints,1:nlev)-zheight(1:npoints,2:nlev+1) )
     393   * (zheight(1:npoints,1:nlev)-zheight(1:npoints,2:nlev+1) )
    394394          ! Optical thickness from TOA to layer k (particles)
    395395          do k=2,nlev
  • LMDZ6/branches/Amaury_dev/libf/phylmd/cospv2/cosp_optics.F90

    r5081 r5087  
    440440          ! Optical thickness of each layer (particles)
    441441          tau_part(1:npoints,1:nlev,i) = tau_part(1:npoints,1:nlev,i) &
    442                & * (zheight(1:npoints,1:nlev)-zheight(1:npoints,2:nlev+1) )
     442   * (zheight(1:npoints,1:nlev)-zheight(1:npoints,2:nlev+1) )
    443443          ! Optical thickness from TOA to layer k (particles)
    444444          do k=zi,zf,zinc
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/mod_1D_amma_read.F90

    r5075 r5087  
    125125        print*,'Allocations OK'
    126126        call read_amma(nid,nlev_amma,nt_amma                                  &
    127      &     ,z_amma,plev_amma,th_amma,q_amma,u_amma,v_amma,vitw_amma         &
    128      &     ,ht_amma,hq_amma,sens_amma,lat_amma)
     127       ,z_amma,plev_amma,th_amma,q_amma,u_amma,v_amma,vitw_amma         &
     128       ,ht_amma,hq_amma,sens_amma,lat_amma)
    129129
    130130END SUBROUTINE read_1D_cases
     
    172172!=====================================================================
    173173      subroutine read_amma(nid,nlevel,ntime                          &
    174      &     ,zz,pp,temp,qv,u,v,dw                   &
    175      &     ,dt,dq,sens,flat)
     174       ,zz,pp,temp,qv,u,v,dw                   &
     175       ,dt,dq,sens,flat)
    176176
    177177!program reading forcings of the AMMA case study
     
    345345!======================================================================
    346346        SUBROUTINE interp_amma_time(day,day1,annee_ref                     &
    347      &         ,year_ini_amma,day_ini_amma,nt_amma,dt_amma,nlev_amma       &
    348      &         ,vitw_amma,ht_amma,hq_amma,lat_amma,sens_amma               &
    349      &         ,vitw_prof,ht_prof,hq_prof,lat_prof,sens_prof)
     347           ,year_ini_amma,day_ini_amma,nt_amma,dt_amma,nlev_amma       &
     348           ,vitw_amma,ht_amma,hq_amma,lat_amma,sens_amma               &
     349           ,vitw_prof,ht_prof,hq_prof,lat_prof,sens_prof)
    350350        implicit none
    351351
     
    426426       if (it_amma1 > nt_amma) then
    427427        write(*,*) 'PB-stop: day, it_amma1, it_amma2, timeit: '            &
    428      &        ,day,day_ini_amma,it_amma1,it_amma2,timeit/86400.
     428          ,day,day_ini_amma,it_amma1,it_amma2,timeit/86400.
    429429        stop
    430430       endif
     
    439439
    440440       lat_prof = lat_amma(it_amma2)                                       &
    441      &          -frac*(lat_amma(it_amma2)-lat_amma(it_amma1))
     441            -frac*(lat_amma(it_amma2)-lat_amma(it_amma1))
    442442       sens_prof = sens_amma(it_amma2)                                     &
    443      &          -frac*(sens_amma(it_amma2)-sens_amma(it_amma1))
     443            -frac*(sens_amma(it_amma2)-sens_amma(it_amma1))
    444444
    445445       do k=1,nlev_amma
    446446        vitw_prof(k) = vitw_amma(k,it_amma2)                               &
    447      &          -frac*(vitw_amma(k,it_amma2)-vitw_amma(k,it_amma1))
     447            -frac*(vitw_amma(k,it_amma2)-vitw_amma(k,it_amma1))
    448448        ht_prof(k) = ht_amma(k,it_amma2)                                   &
    449      &          -frac*(ht_amma(k,it_amma2)-ht_amma(k,it_amma1))
     449            -frac*(ht_amma(k,it_amma2)-ht_amma(k,it_amma1))
    450450        hq_prof(k) = hq_amma(k,it_amma2)                                   &
    451      &          -frac*(hq_amma(k,it_amma2)-hq_amma(k,it_amma1))
     451            -frac*(hq_amma(k,it_amma2)-hq_amma(k,it_amma1))
    452452        enddo
    453453
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/mod_1D_cases_read.F90

    r5075 r5087  
    184184        print*,'Allocations OK'
    185185        call read_cas(nid,nlev_cas,nt_cas                                       &
    186      &     ,z_cas,plev_cas,t_cas,q_cas,rh_cas,th_cas,rv_cas,u_cas,v_cas         &
    187      &     ,ug_cas,vg_cas,vitw_cas,du_cas,hu_cas,vu_cas,dv_cas,hv_cas,vv_cas    &
    188      &     ,dt_cas,dtrad_cas,ht_cas,vt_cas,dq_cas,hq_cas,vq_cas                 &
    189      &     ,dth_cas,hth_cas,vth_cas,dr_cas,hr_cas,vr_cas,sens_cas,lat_cas,ts_cas&
    190      &     ,ustar_cas,uw_cas,vw_cas,q1_cas,q2_cas)
     186       ,z_cas,plev_cas,t_cas,q_cas,rh_cas,th_cas,rv_cas,u_cas,v_cas         &
     187       ,ug_cas,vg_cas,vitw_cas,du_cas,hu_cas,vu_cas,dv_cas,hv_cas,vv_cas    &
     188       ,dt_cas,dtrad_cas,ht_cas,vt_cas,dq_cas,hq_cas,vq_cas                 &
     189       ,dth_cas,hth_cas,vth_cas,dr_cas,hr_cas,vr_cas,sens_cas,lat_cas,ts_cas&
     190       ,ustar_cas,uw_cas,vw_cas,q1_cas,q2_cas)
    191191        print*,'Read cas OK'
    192192
     
    255255  !=====================================================================
    256256      subroutine read_cas(nid,nlevel,ntime                          &
    257      &     ,zz,pp,temp,qv,rh,theta,rv,u,v,ug,vg,w,                   &
    258      &     du,hu,vu,dv,hv,vv,dt,dtrad,ht,vt,dq,hq,vq,                     &
    259      &     dth,hth,vth,dr,hr,vr,sens,flat,ts,ustar,uw,vw,q1,q2)
     257       ,zz,pp,temp,qv,rh,theta,rv,u,v,ug,vg,w,                   &
     258       du,hu,vu,dv,hv,vv,dt,dtrad,ht,vt,dq,hq,vq,                     &
     259       dth,hth,vth,dr,hr,vr,sens,flat,ts,ustar,uw,vw,q1,q2)
    260260
    261261!program reading forcing of the case study
     
    804804        SUBROUTINE interp_case_time(day,day1,annee_ref                &
    805805!    &         ,year_cas,day_cas,nt_cas,pdt_forc,nlev_cas      &
    806      &         ,nt_cas,nlev_cas                                       &
    807      &         ,ts_cas,plev_cas,t_cas,q_cas,u_cas,v_cas               &
    808      &         ,ug_cas,vg_cas,vitw_cas,du_cas,hu_cas,vu_cas           &
    809      &         ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas   &
    810      &         ,dq_cas,hq_cas,vq_cas,lat_cas,sens_cas,ustar_cas       &
    811      &         ,uw_cas,vw_cas,q1_cas,q2_cas                           &
    812      &         ,ts_prof_cas,plev_prof_cas,t_prof_cas,q_prof_cas       &
    813      &         ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas         &
    814      &         ,vitw_prof_cas,du_prof_cas,hu_prof_cas,vu_prof_cas     &
    815      &         ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas       &
    816      &         ,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas    &
    817      &         ,hq_prof_cas,vq_prof_cas,lat_prof_cas,sens_prof_cas    &
    818      &         ,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas)
     806           ,nt_cas,nlev_cas                                       &
     807           ,ts_cas,plev_cas,t_cas,q_cas,u_cas,v_cas               &
     808           ,ug_cas,vg_cas,vitw_cas,du_cas,hu_cas,vu_cas           &
     809           ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas   &
     810           ,dq_cas,hq_cas,vq_cas,lat_cas,sens_cas,ustar_cas       &
     811           ,uw_cas,vw_cas,q1_cas,q2_cas                           &
     812           ,ts_prof_cas,plev_prof_cas,t_prof_cas,q_prof_cas       &
     813           ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas         &
     814           ,vitw_prof_cas,du_prof_cas,hu_prof_cas,vu_prof_cas     &
     815           ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas       &
     816           ,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas    &
     817           ,hq_prof_cas,vq_prof_cas,lat_prof_cas,sens_prof_cas    &
     818           ,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas)
    819819
    820820
     
    931931       if (it_cas1 > nt_cas) then
    932932        write(*,*) 'PB-stop: day, day_ju_ini_cas,it_cas1, it_cas2, timeit: '            &
    933      &        ,day,day_ju_ini_cas,it_cas1,it_cas2,timeit
     933          ,day,day_ju_ini_cas,it_cas1,it_cas2,timeit
    934934        stop
    935935       endif
     
    944944
    945945       lat_prof_cas = lat_cas(it_cas2)                                       &
    946      &          -frac*(lat_cas(it_cas2)-lat_cas(it_cas1))
     946            -frac*(lat_cas(it_cas2)-lat_cas(it_cas1))
    947947       sens_prof_cas = sens_cas(it_cas2)                                     &
    948      &          -frac*(sens_cas(it_cas2)-sens_cas(it_cas1))
     948            -frac*(sens_cas(it_cas2)-sens_cas(it_cas1))
    949949       ts_prof_cas = ts_cas(it_cas2)                                         &
    950      &          -frac*(ts_cas(it_cas2)-ts_cas(it_cas1))
     950            -frac*(ts_cas(it_cas2)-ts_cas(it_cas1))
    951951       ustar_prof_cas = ustar_cas(it_cas2)                                   &
    952      &          -frac*(ustar_cas(it_cas2)-ustar_cas(it_cas1))
     952            -frac*(ustar_cas(it_cas2)-ustar_cas(it_cas1))
    953953
    954954       do k=1,nlev_cas
    955955        plev_prof_cas(k) = plev_cas(k,it_cas2)                               &
    956      &          -frac*(plev_cas(k,it_cas2)-plev_cas(k,it_cas1))
     956            -frac*(plev_cas(k,it_cas2)-plev_cas(k,it_cas1))
    957957        t_prof_cas(k) = t_cas(k,it_cas2)                               &
    958      &          -frac*(t_cas(k,it_cas2)-t_cas(k,it_cas1))
     958            -frac*(t_cas(k,it_cas2)-t_cas(k,it_cas1))
    959959        q_prof_cas(k) = q_cas(k,it_cas2)                               &
    960      &          -frac*(q_cas(k,it_cas2)-q_cas(k,it_cas1))
     960            -frac*(q_cas(k,it_cas2)-q_cas(k,it_cas1))
    961961        u_prof_cas(k) = u_cas(k,it_cas2)                               &
    962      &          -frac*(u_cas(k,it_cas2)-u_cas(k,it_cas1))
     962            -frac*(u_cas(k,it_cas2)-u_cas(k,it_cas1))
    963963        v_prof_cas(k) = v_cas(k,it_cas2)                               &
    964      &          -frac*(v_cas(k,it_cas2)-v_cas(k,it_cas1))
     964            -frac*(v_cas(k,it_cas2)-v_cas(k,it_cas1))
    965965        ug_prof_cas(k) = ug_cas(k,it_cas2)                               &
    966      &          -frac*(ug_cas(k,it_cas2)-ug_cas(k,it_cas1))
     966            -frac*(ug_cas(k,it_cas2)-ug_cas(k,it_cas1))
    967967        vg_prof_cas(k) = vg_cas(k,it_cas2)                               &
    968      &          -frac*(vg_cas(k,it_cas2)-vg_cas(k,it_cas1))
     968            -frac*(vg_cas(k,it_cas2)-vg_cas(k,it_cas1))
    969969        vitw_prof_cas(k) = vitw_cas(k,it_cas2)                               &
    970      &          -frac*(vitw_cas(k,it_cas2)-vitw_cas(k,it_cas1))
     970            -frac*(vitw_cas(k,it_cas2)-vitw_cas(k,it_cas1))
    971971        du_prof_cas(k) = du_cas(k,it_cas2)                                   &
    972      &          -frac*(du_cas(k,it_cas2)-du_cas(k,it_cas1))
     972            -frac*(du_cas(k,it_cas2)-du_cas(k,it_cas1))
    973973        hu_prof_cas(k) = hu_cas(k,it_cas2)                                   &
    974      &          -frac*(hu_cas(k,it_cas2)-hu_cas(k,it_cas1))
     974            -frac*(hu_cas(k,it_cas2)-hu_cas(k,it_cas1))
    975975        vu_prof_cas(k) = vu_cas(k,it_cas2)                                   &
    976      &          -frac*(vu_cas(k,it_cas2)-vu_cas(k,it_cas1))
     976            -frac*(vu_cas(k,it_cas2)-vu_cas(k,it_cas1))
    977977        dv_prof_cas(k) = dv_cas(k,it_cas2)                                   &
    978      &          -frac*(dv_cas(k,it_cas2)-dv_cas(k,it_cas1))
     978            -frac*(dv_cas(k,it_cas2)-dv_cas(k,it_cas1))
    979979        hv_prof_cas(k) = hv_cas(k,it_cas2)                                   &
    980      &          -frac*(hv_cas(k,it_cas2)-hv_cas(k,it_cas1))
     980            -frac*(hv_cas(k,it_cas2)-hv_cas(k,it_cas1))
    981981        vv_prof_cas(k) = vv_cas(k,it_cas2)                                   &
    982      &          -frac*(vv_cas(k,it_cas2)-vv_cas(k,it_cas1))
     982            -frac*(vv_cas(k,it_cas2)-vv_cas(k,it_cas1))
    983983        dt_prof_cas(k) = dt_cas(k,it_cas2)                                   &
    984      &          -frac*(dt_cas(k,it_cas2)-dt_cas(k,it_cas1))
     984            -frac*(dt_cas(k,it_cas2)-dt_cas(k,it_cas1))
    985985        ht_prof_cas(k) = ht_cas(k,it_cas2)                                   &
    986      &          -frac*(ht_cas(k,it_cas2)-ht_cas(k,it_cas1))
     986            -frac*(ht_cas(k,it_cas2)-ht_cas(k,it_cas1))
    987987        vt_prof_cas(k) = vt_cas(k,it_cas2)                                   &
    988      &          -frac*(vt_cas(k,it_cas2)-vt_cas(k,it_cas1))
     988            -frac*(vt_cas(k,it_cas2)-vt_cas(k,it_cas1))
    989989        dtrad_prof_cas(k) = dtrad_cas(k,it_cas2)                                   &
    990      &          -frac*(dtrad_cas(k,it_cas2)-dtrad_cas(k,it_cas1))
     990            -frac*(dtrad_cas(k,it_cas2)-dtrad_cas(k,it_cas1))
    991991        dq_prof_cas(k) = dq_cas(k,it_cas2)                                   &
    992      &          -frac*(dq_cas(k,it_cas2)-dq_cas(k,it_cas1))
     992            -frac*(dq_cas(k,it_cas2)-dq_cas(k,it_cas1))
    993993        hq_prof_cas(k) = hq_cas(k,it_cas2)                                   &
    994      &          -frac*(hq_cas(k,it_cas2)-hq_cas(k,it_cas1))
     994            -frac*(hq_cas(k,it_cas2)-hq_cas(k,it_cas1))
    995995        vq_prof_cas(k) = vq_cas(k,it_cas2)                                   &
    996      &          -frac*(vq_cas(k,it_cas2)-vq_cas(k,it_cas1))
     996            -frac*(vq_cas(k,it_cas2)-vq_cas(k,it_cas1))
    997997       uw_prof_cas(k) = uw_cas(k,it_cas2)                                   &
    998      &          -frac*(uw_cas(k,it_cas2)-uw_cas(k,it_cas1))
     998            -frac*(uw_cas(k,it_cas2)-uw_cas(k,it_cas1))
    999999       vw_prof_cas(k) = vw_cas(k,it_cas2)                                   &
    1000      &          -frac*(vw_cas(k,it_cas2)-vw_cas(k,it_cas1))
     1000            -frac*(vw_cas(k,it_cas2)-vw_cas(k,it_cas1))
    10011001       q1_prof_cas(k) = q1_cas(k,it_cas2)                                   &
    1002      &          -frac*(q1_cas(k,it_cas2)-q1_cas(k,it_cas1))
     1002            -frac*(q1_cas(k,it_cas2)-q1_cas(k,it_cas1))
    10031003       q2_prof_cas(k) = q2_cas(k,it_cas2)                                   &
    1004      &          -frac*(q2_cas(k,it_cas2)-q2_cas(k,it_cas1))
     1004            -frac*(q2_cas(k,it_cas2)-q2_cas(k,it_cas1))
    10051005        enddo
    10061006
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/old_lmdz1d.F90

    r5075 r5087  
    458458        type_ts_forcing = 0
    459459        if (forcing_toga.or.forcing_sandu.or.forcing_astex .or. forcing_dice)                 &
    460      &    type_ts_forcing = 1
     460      type_ts_forcing = 1
    461461!
    462462! Initialization of the logical switch for nudging
     
    549549! Convert the initial date of Toga-Coare to Julian day
    550550      call ymds2ju                                                          &
    551      & (year_ini_toga,mth_ini_toga,day_ini_toga,heure,day_ju_ini_toga)
     551   (year_ini_toga,mth_ini_toga,day_ini_toga,heure,day_ju_ini_toga)
    552552
    553553      ELSEIF (forcing_type ==4) THEN
    554554! Convert the initial date of TWPICE to Julian day
    555555      call ymds2ju                                                          &
    556      & (year_ini_twpi,mth_ini_twpi,day_ini_twpi,heure_ini_twpi              &
    557      & ,day_ju_ini_twpi)
     556   (year_ini_twpi,mth_ini_twpi,day_ini_twpi,heure_ini_twpi              &
     557   ,day_ju_ini_twpi)
    558558      ELSEIF (forcing_type ==6) THEN
    559559! Convert the initial date of AMMA to Julian day
    560560      call ymds2ju                                                          &
    561      & (year_ini_amma,mth_ini_amma,day_ini_amma,heure_ini_amma              &
    562      & ,day_ju_ini_amma)
     561   (year_ini_amma,mth_ini_amma,day_ini_amma,heure_ini_amma              &
     562   ,day_ju_ini_amma)
    563563      ELSEIF (forcing_type ==7) THEN
    564564! Convert the initial date of DICE to Julian day
    565565      call ymds2ju                                                         &
    566      & (year_ini_dice,mth_ini_dice,day_ini_dice,heure_ini_dice             &
    567      & ,day_ju_ini_dice)
     566   (year_ini_dice,mth_ini_dice,day_ini_dice,heure_ini_dice             &
     567   ,day_ju_ini_dice)
    568568 ELSEIF (forcing_type ==8 ) THEN
    569569! Convert the initial date of GABLS4 to Julian day
    570570      call ymds2ju                                                         &
    571      & (year_ini_gabls4,mth_ini_gabls4,day_ini_gabls4,heure_ini_gabls4     &
    572      & ,day_ju_ini_gabls4)
     571   (year_ini_gabls4,mth_ini_gabls4,day_ini_gabls4,heure_ini_gabls4     &
     572   ,day_ju_ini_gabls4)
    573573      ELSEIF (forcing_type >100) THEN
    574574! Convert the initial date to Julian day
     
    576576      print*,'time case',year_ini_cas,mth_ini_cas,day_ini_cas
    577577      call ymds2ju                                                         &
    578      & (year_ini_cas,mth_ini_cas,day_ini_cas,heure_ini_cas*3600            &
    579      & ,day_ju_ini_cas)
     578   (year_ini_cas,mth_ini_cas,day_ini_cas,heure_ini_cas*3600            &
     579   ,day_ju_ini_cas)
    580580      print*,'time case 2',day_ini_cas,day_ju_ini_cas
    581581      ELSEIF (forcing_type ==59) THEN
    582582! Convert the initial date of Sandu case to Julian day
    583583      call ymds2ju                                                          &
    584      &   (year_ini_sandu,mth_ini_sandu,day_ini_sandu,                       &
    585      &    time_ini*3600.,day_ju_ini_sandu)
     584     (year_ini_sandu,mth_ini_sandu,day_ini_sandu,                       &
     585      time_ini*3600.,day_ju_ini_sandu)
    586586
    587587      ELSEIF (forcing_type ==60) THEN
    588588! Convert the initial date of Astex case to Julian day
    589589      call ymds2ju                                                          &
    590      &   (year_ini_astex,mth_ini_astex,day_ini_astex,                        &
    591      &    time_ini*3600.,day_ju_ini_astex)
     590     (year_ini_astex,mth_ini_astex,day_ini_astex,                        &
     591      time_ini*3600.,day_ju_ini_astex)
    592592
    593593      ELSEIF (forcing_type ==61) THEN
    594594! Convert the initial date of Arm_cu case to Julian day
    595595      call ymds2ju                                                          &
    596      & (year_ini_armcu,mth_ini_armcu,day_ini_armcu,heure_ini_armcu          &
    597      & ,day_ju_ini_armcu)
     596   (year_ini_armcu,mth_ini_armcu,day_ini_armcu,heure_ini_armcu          &
     597   ,day_ju_ini_armcu)
    598598      ENDIF
    599599
     
    606606      call ju2ymds(daytime,year_print, month_print,day_print,sec_print)
    607607      print *,' Time of beginning : ',                                      &
    608      &        year_print, month_print, day_print, sec_print
     608          year_print, month_print, day_print, sec_print
    609609
    610610!---------------------------------------------------------------------
     
    852852
    853853        print*,'nat_surf,pctsrf(1,is_oce),pctsrf(1,is_ter)',nat_surf         &
    854      &        ,pctsrf(1,is_oce),pctsrf(1,is_ter)
     854          ,pctsrf(1,is_oce),pctsrf(1,is_ter)
    855855
    856856        zmasq=pctsrf(1,is_ter)+pctsrf(1,is_lic)
     
    989989! fabrication de limit.nc
    990990      call writelim (1,phy_nat,phy_alb,phy_sst,phy_bil,phy_rug,             &
    991      &               phy_ice,phy_fter,phy_foce,phy_flic,phy_fsic)
     991                 phy_ice,phy_fter,phy_foce,phy_flic,phy_fsic)
    992992
    993993
     
    997997        print*,'call to restart dyn 1d'
    998998        Call dyn1deta0("start1dyn.nc",plev,play,phi,phis,presnivs,          &
    999      &              u,v,temp,q,omega2)
     999                u,v,temp,q,omega2)
    10001000
    10011001       print*,'fnday,annee_ref,day_ref,day_ini',                            &
    1002      &     fnday,annee_ref,day_ref,day_ini
     1002       fnday,annee_ref,day_ref,day_ini
    10031003!**      call ymds2ju(annee_ref,mois,day_ini,heure,day)
    10041004       day = day_ini
     
    10521052       if (prt_level>=1) then
    10531053         print*,'XXXXXXXXXXXXXXXXXXX ITAP,day,time=',                       &
    1054      &             it,day,time,it_end,day_step
     1054               it,day,time,it_end,day_step
    10551055         print*,'PAS DE TEMPS ',timestep
    10561056       endif
     
    10651065        do l = 1, llm-1
    10661066          phi(l+1)=phi(l)+RD*(temp(l)+temp(l+1))*                           &
    1067      &    (play(l)-play(l+1))/(play(l)+play(l+1))
     1067      (play(l)-play(l+1))/(play(l)+play(l+1))
    10681068        enddo
    10691069
     
    10951095         print *,' avant physiq : -------- day time ',day,time
    10961096         write(*,*) 'firstcall,lastcall,phis',                               &
    1097      &               firstcall,lastcall,phis
     1097                 firstcall,lastcall,phis
    10981098       end if
    10991099       if (prt_level>=5) then
    11001100         write(*,'(a10,2a4,4a13)') 'BEFOR1 IT=','it','l',                   &
    1101      &        'presniv','plev','play','phi'
     1101          'presniv','plev','play','phi'
    11021102         write(*,'(a10,2i4,4f13.2)') ('BEFOR1 IT= ',it,l,                   &
    1103      &         presnivs(l),plev(l),play(l),phi(l),l=1,llm)
     1103           presnivs(l),plev(l),play(l),phi(l),l=1,llm)
    11041104         write(*,'(a11,2a4,a11,6a8)') 'BEFOR2','it','l',                    &
    1105      &         'presniv','u','v','temp','q1','q2','omega2'
     1105           'presniv','u','v','temp','q1','q2','omega2'
    11061106         write(*,'(a11,2i4,f11.2,5f8.2,e10.2)') ('BEFOR2 IT= ',it,l,         &
    1107      &   presnivs(l),u(l),v(l),temp(l),q(l,1),q(l,2),omega2(l),l=1,llm)
     1107     presnivs(l),u(l),v(l),temp(l),q(l,1),q(l,2),omega2(l),l=1,llm)
    11081108       endif
    11091109
     
    11231123        if (prt_level>=5) then
    11241124          write(*,'(a11,2a4,4a13)') 'AFTER1 IT=','it','l',                  &
    1125      &        'presniv','plev','play','phi'
     1125          'presniv','plev','play','phi'
    11261126          write(*,'(a11,2i4,4f13.2)') ('AFTER1 it= ',it,l,                  &
    1127      &    presnivs(l),plev(l),play(l),phi(l),l=1,llm)
     1127      presnivs(l),plev(l),play(l),phi(l),l=1,llm)
    11281128          write(*,'(a11,2a4,a11,6a8)') 'AFTER2','it','l',                   &
    1129      &         'presniv','u','v','temp','q1','q2','omega2'
     1129           'presniv','u','v','temp','q1','q2','omega2'
    11301130          write(*,'(a11,2i4,f11.2,5f8.2,e10.2)') ('AFTER2 it= ',it,l,       &
    1131      &    presnivs(l),u(l),v(l),temp(l),q(l,1),q(l,2),omega2(l),l=1,llm)
     1131      presnivs(l),u(l),v(l),temp(l),q(l,1),q(l,2),omega2(l),l=1,llm)
    11321132          write(*,'(a11,2a4,a11,5a8)') 'AFTER3','it','l',                   &
    1133      &         'presniv','du_phys','dv_phys','dt_phys','dq1','dq2'   
     1133           'presniv','du_phys','dv_phys','dt_phys','dq1','dq2'
    11341134           write(*,'(a11,2i4,f11.2,5f8.2)') ('AFTER3 it= ',it,l,            &
    1135      &      presnivs(l),86400*du_phys(l),86400*dv_phys(l),                   &
    1136      &       86400*dt_phys(l),86400*dq(l,1),dq(l,2),l=1,llm)
     1135        presnivs(l),86400*du_phys(l),86400*dv_phys(l),                   &
     1136         86400*dt_phys(l),86400*dq(l,1),dq(l,2),l=1,llm)
    11371137          write(*,*) 'dpsrf',dpsrf
    11381138        endif
     
    11511151
    11521152       if (forcing_toga .or. forcing_GCSSold .or. forcing_twpice            &
    1153      &    .or.forcing_amma .or. forcing_type==101) then
     1153      .or.forcing_amma .or. forcing_type==101) then
    11541154         fcoriolis=0.0 ; ug=0. ; vg=0.
    11551155       endif
     
    11981198!
    11991199        du_age(1:mxcalc)= -2.*sfdt/timestep*                                &
    1200      &          (sfdt*(u(1:mxcalc)-ug(1:mxcalc)) -                          &
    1201      &           cfdt*(v(1:mxcalc)-vg(1:mxcalc))  )
     1200            (sfdt*(u(1:mxcalc)-ug(1:mxcalc)) -                          &
     1201             cfdt*(v(1:mxcalc)-vg(1:mxcalc))  )
    12021202!!     : fcoriolis*(v(1:mxcalc)-vg(1:mxcalc))
    12031203!
    12041204       dv_age(1:mxcalc)= -2.*sfdt/timestep*                                 &
    1205      &          (cfdt*(u(1:mxcalc)-ug(1:mxcalc)) +                           &
    1206      &           sfdt*(v(1:mxcalc)-vg(1:mxcalc))  )
     1205            (cfdt*(u(1:mxcalc)-ug(1:mxcalc)) +                           &
     1206             sfdt*(v(1:mxcalc)-vg(1:mxcalc))  )
    12071207!!     : -fcoriolis*(u(1:mxcalc)-ug(1:mxcalc))
    12081208!
     
    12161216      if (nudge(inudge_RHT)) then
    12171217        call nudge_RHT(timestep,plev,play,t_targ,rh_targ,temp,q(:,1),     &
    1218                     d_t_nudge,d_q_nudge(:,1))
     1218                    d_t_nudge,d_q_nudge(:,1))
    12191219      endif
    12201220      if (nudge(inudge_UV)) then
    12211221        call nudge_UV(timestep,plev,play,u_targ,v_targ,u,v,     &
    1222                     d_u_nudge,d_v_nudge)
     1222                    d_u_nudge,d_v_nudge)
    12231223      endif
    12241224!
     
    12631263      else
    12641264        u(1:mxcalc)=u(1:mxcalc) + timestep*(                                &
    1265      &              du_phys(1:mxcalc)                                       &
    1266      &             +du_age(1:mxcalc)+du_adv(1:mxcalc)                       &
    1267      &             +d_u_nudge(1:mxcalc) )           
     1265                du_phys(1:mxcalc)                                       &
     1266               +du_age(1:mxcalc)+du_adv(1:mxcalc)                       &
     1267               +d_u_nudge(1:mxcalc) )
    12681268        v(1:mxcalc)=v(1:mxcalc) + timestep*(                                 &
    1269      &              dv_phys(1:mxcalc)                                       &
    1270      &             +dv_age(1:mxcalc)+dv_adv(1:mxcalc)                       &
    1271      &             +d_v_nudge(1:mxcalc) )
     1269                dv_phys(1:mxcalc)                                       &
     1270               +dv_age(1:mxcalc)+dv_adv(1:mxcalc)                       &
     1271               +d_v_nudge(1:mxcalc) )
    12721272        q(1:mxcalc,:)=q(1:mxcalc,:)+timestep*(                              &
    1273      &                dq(1:mxcalc,:)                                        &
    1274      &               +d_q_adv(1:mxcalc,:)                                   &
    1275      &               +d_q_nudge(1:mxcalc,:) )
     1273                  dq(1:mxcalc,:)                                        &
     1274                 +d_q_adv(1:mxcalc,:)                                   &
     1275                 +d_q_nudge(1:mxcalc,:) )
    12761276
    12771277        if (prt_level>=3) then
    12781278          print *,                                                          &
    1279      &    'physiq-> temp(1),dt_phys(1),d_t_adv(1),dt_cooling(1) ',         &
    1280      &              temp(1),dt_phys(1),d_t_adv(1),dt_cooling(1)
     1279      'physiq-> temp(1),dt_phys(1),d_t_adv(1),dt_cooling(1) ',         &
     1280                temp(1),dt_phys(1),d_t_adv(1),dt_cooling(1)
    12811281           print* ,'dv_phys=',dv_phys
    12821282           print* ,'dv_age=',dv_age
     
    12881288
    12891289        temp(1:mxcalc)=temp(1:mxcalc)+timestep*(                            &
    1290      &              dt_phys(1:mxcalc)                                       &
    1291      &             +d_t_adv(1:mxcalc)                                      &
    1292      &             +d_t_nudge(1:mxcalc)                                      &
    1293      &             +dt_cooling(1:mxcalc))  ! Taux de chauffage ou refroid.
     1290                dt_phys(1:mxcalc)                                       &
     1291               +d_t_adv(1:mxcalc)                                      &
     1292               +d_t_nudge(1:mxcalc)                                      &
     1293               +dt_cooling(1:mxcalc))  ! Taux de chauffage ou refroid.
    12941294
    12951295#ifdef OUTPUT_PHYS_SCM
     
    13081308      IF (nudge_tsoil .AND. .NOT. lastcall) THEN
    13091309       ftsoil(1,isoil_nudge,:) = ftsoil(1,isoil_nudge,:)                     &
    1310      &  -timestep/tau_soil_nudge*(ftsoil(1,isoil_nudge,:)-Tsoil_nudge)
     1310    -timestep/tau_soil_nudge*(ftsoil(1,isoil_nudge,:)-Tsoil_nudge)
    13111311      ENDIF
    13121312
     
    13581358! -------------------------------------
    13591359       call dyn1dredem("restart1dyn.nc",                                    &
    1360      &              plev,play,phi,phis,presnivs,                            &
    1361      &              u,v,temp,q,omega2)
     1360                plev,play,phi,phis,presnivs,                            &
     1361                u,v,temp,q,omega2)
    13621362
    13631363        CALL abort_gcm ('lmdz1d   ','The End  ',0)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/replay1d.F90

    r5082 r5087  
    143143 
    144144      IF(ngrid/=2+(jm-2)*(im-1).AND.ngrid/=1)                          &
    145      &    STOP 'probleme de dim'
     145      STOP 'probleme de dim'
    146146!   traitement des poles
    147147      CALL SCOPY(nfield,pdyn,im*jm,pfi,ngrid)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/dyn1d/scm.F90

    r5082 r5087  
    376376      print*,'time case',year_ini_cas,mth_ini_cas,day_ini_cas
    377377      call ymds2ju                                                         &
    378      & (year_ini_cas,mth_ini_cas,day_ini_cas,heure_ini_cas*3600            &
    379      & ,day_ju_ini_cas)
     378   (year_ini_cas,mth_ini_cas,day_ini_cas,heure_ini_cas*3600            &
     379   ,day_ju_ini_cas)
    380380      print*,'time case 2',day_ini_cas,day_ju_ini_cas
    381381      daytime = day + heure_ini_cas/24. ! 1st day and initial time of the simulation
     
    384384      call ju2ymds(daytime,year_print, month_print,day_print,sec_print)
    385385      print *,' Time of beginning : ',                                      &
    386      &        year_print, month_print, day_print, sec_print
     386          year_print, month_print, day_print, sec_print
    387387
    388388!---------------------------------------------------------------------
     
    615615
    616616        print*,'nat_surf,pctsrf(1,is_oce),pctsrf(1,is_ter)',nat_surf         &
    617      &        ,pctsrf(1,is_oce),pctsrf(1,is_ter)
     617          ,pctsrf(1,is_oce),pctsrf(1,is_ter)
    618618
    619619        zmasq=pctsrf(1,is_ter)+pctsrf(1,is_lic)
     
    746746! fabrication de limit.nc
    747747      call writelim (1,phy_nat,phy_alb,phy_sst,phy_bil,phy_rug,             &
    748      &               phy_ice,phy_fter,phy_foce,phy_flic,phy_fsic)
     748                 phy_ice,phy_fter,phy_foce,phy_flic,phy_fsic)
    749749
    750750
     
    754754        print*,'call to restart dyn 1d'
    755755        Call dyn1deta0("start1dyn.nc",plev,play,phi,phis,presnivs,          &
    756      &              u,v,temp,q,omega2)
     756                u,v,temp,q,omega2)
    757757
    758758       print*,'fnday,annee_ref,day_ref,day_ini',                            &
    759      &     fnday,annee_ref,day_ref,day_ini
     759       fnday,annee_ref,day_ref,day_ini
    760760!**      call ymds2ju(annee_ref,mois,day_ini,heure,day)
    761761       day = day_ini
     
    800800       if (prt_level>=1) then
    801801         print*,'XXXXXXXXXXXXXXXXXXX ITAP,day,time=',                       &
    802      &             it,day,time,it_end,day_step
     802               it,day,time,it_end,day_step
    803803         print*,'PAS DE TEMPS ',timestep
    804804       endif
     
    822822        do l = 1, llm-1
    823823          phi(l+1)=phi(l)+RD*(temp(l)+temp(l+1))*                           &
    824      &    (play(l)-play(l+1))/(play(l)+play(l+1))
     824      (play(l)-play(l+1))/(play(l)+play(l+1))
    825825        enddo
    826826
     
    861861         print *,' avant physiq : -------- day time ',day,time
    862862         write(*,*) 'firstcall,lastcall,phis',                               &
    863      &               firstcall,lastcall,phis
     863                 firstcall,lastcall,phis
    864864       end if
    865865       if (prt_level>=5) then
    866866         write(*,'(a10,2a4,4a13)') 'BEFOR1 IT=','it','l',                   &
    867      &        'presniv','plev','play','phi'
     867          'presniv','plev','play','phi'
    868868         write(*,'(a10,2i4,4f13.2)') ('BEFOR1 IT= ',it,l,                   &
    869      &         presnivs(l),plev(l),play(l),phi(l),l=1,llm)
     869           presnivs(l),plev(l),play(l),phi(l),l=1,llm)
    870870         write(*,'(a11,2a4,a11,6a8)') 'BEFOR2','it','l',                    &
    871      &         'presniv','u','v','temp','q1','q2','omega2'
     871           'presniv','u','v','temp','q1','q2','omega2'
    872872         write(*,'(a11,2i4,f11.2,5f8.2,e10.2)') ('BEFOR2 IT= ',it,l,         &
    873      &   presnivs(l),u(l),v(l),temp(l),q(l,1),q(l,2),omega2(l),l=1,llm)
     873     presnivs(l),u(l),v(l),temp(l),q(l,1),q(l,2),omega2(l),l=1,llm)
    874874       endif
    875875
     
    889889        if (prt_level>=5) then
    890890          write(*,'(a11,2a4,4a13)') 'AFTER1 IT=','it','l',                  &
    891      &        'presniv','plev','play','phi'
     891          'presniv','plev','play','phi'
    892892          write(*,'(a11,2i4,4f13.2)') ('AFTER1 it= ',it,l,                  &
    893      &    presnivs(l),plev(l),play(l),phi(l),l=1,llm)
     893      presnivs(l),plev(l),play(l),phi(l),l=1,llm)
    894894          write(*,'(a11,2a4,a11,6a8)') 'AFTER2','it','l',                   &
    895      &         'presniv','u','v','temp','q1','q2','omega2'
     895           'presniv','u','v','temp','q1','q2','omega2'
    896896          write(*,'(a11,2i4,f11.2,5f8.2,e10.2)') ('AFTER2 it= ',it,l,       &
    897      &    presnivs(l),u(l),v(l),temp(l),q(l,1),q(l,2),omega2(l),l=1,llm)
     897      presnivs(l),u(l),v(l),temp(l),q(l,1),q(l,2),omega2(l),l=1,llm)
    898898          write(*,'(a11,2a4,a11,5a8)') 'AFTER3','it','l',                   &
    899      &         'presniv','du_phys','dv_phys','dt_phys','dq1','dq2'   
     899           'presniv','du_phys','dv_phys','dt_phys','dq1','dq2'
    900900           write(*,'(a11,2i4,f11.2,5f8.2)') ('AFTER3 it= ',it,l,            &
    901      &      presnivs(l),86400*du_phys(l),86400*dv_phys(l),                   &
    902      &       86400*dt_phys(l),86400*dq(l,1),dq(l,2),l=1,llm)
     901        presnivs(l),86400*du_phys(l),86400*dv_phys(l),                   &
     902         86400*dt_phys(l),86400*dq(l,1),dq(l,2),l=1,llm)
    903903          write(*,*) 'dpsrf',dpsrf
    904904        endif
     
    924924
    925925        d_u_age(1:mxcalc)= -2.*sfdt/timestep*                                &
    926      &          (sfdt*(u(1:mxcalc)-ug(1:mxcalc)) -                          &
    927      &           cfdt*(v(1:mxcalc)-vg(1:mxcalc))  )
     926            (sfdt*(u(1:mxcalc)-ug(1:mxcalc)) -                          &
     927             cfdt*(v(1:mxcalc)-vg(1:mxcalc))  )
    928928!!     : fcoriolis*(v(1:mxcalc)-vg(1:mxcalc))
    929929!
    930930       d_v_age(1:mxcalc)= -2.*sfdt/timestep*                                 &
    931      &          (cfdt*(u(1:mxcalc)-ug(1:mxcalc)) +                           &
    932      &           sfdt*(v(1:mxcalc)-vg(1:mxcalc))  )
     931            (cfdt*(u(1:mxcalc)-ug(1:mxcalc)) +                           &
     932             sfdt*(v(1:mxcalc)-vg(1:mxcalc))  )
    933933!!     : -fcoriolis*(u(1:mxcalc)-ug(1:mxcalc))
    934934      ENDIF
     
    953953
    954954             IF ( play(l) < p_nudging_u .AND. nint(nudging_u) /= 0 ) &
    955              & d_u_nudge(l)=(u_nudg_mod_cas(l)-u(l))/nudging_u
     955   d_u_nudge(l)=(u_nudg_mod_cas(l)-u(l))/nudging_u
    956956
    957957         ENDIF
     
    966966
    967967             IF ( play(l) < p_nudging_v .AND. nint(nudging_v) /= 0 ) &
    968              & d_v_nudge(l)=(v_nudg_mod_cas(l)-v(l))/nudging_v
     968   d_v_nudge(l)=(v_nudg_mod_cas(l)-v(l))/nudging_v
    969969
    970970         ENDIF
     
    979979
    980980             IF ( play(l) < p_nudging_t .AND. nint(nudging_t) /= 0 ) &
    981              & d_t_nudge(l)=(temp_nudg_mod_cas(l)-temp(l))/nudging_t
     981   d_t_nudge(l)=(temp_nudg_mod_cas(l)-temp(l))/nudging_t
    982982
    983983          ENDIF
     
    991991
    992992             IF ( play(l) < p_nudging_qv .AND. nint(nudging_qv) /= 0 ) &
    993              & d_q_nudge(l,1)=(qv_nudg_mod_cas(l)-q(l,1))/nudging_qv
     993   d_q_nudge(l,1)=(qv_nudg_mod_cas(l)-q(l,1))/nudging_qv
    994994
    995995         ENDIF
     
    10211021
    10221022        u(1:mxcalc)=u(1:mxcalc) + timestep*(                                &
    1023      &              du_phys(1:mxcalc)                                       &
    1024      &             +d_u_age(1:mxcalc)+d_u_adv(1:mxcalc)                       &
    1025      &             +d_u_nudge(1:mxcalc) )           
     1023                du_phys(1:mxcalc)                                       &
     1024               +d_u_age(1:mxcalc)+d_u_adv(1:mxcalc)                       &
     1025               +d_u_nudge(1:mxcalc) )
    10261026        v(1:mxcalc)=v(1:mxcalc) + timestep*(                                 &
    1027      &              dv_phys(1:mxcalc)                                       &
    1028      &             +d_v_age(1:mxcalc)+d_v_adv(1:mxcalc)                       &
    1029      &             +d_v_nudge(1:mxcalc) )
     1027                dv_phys(1:mxcalc)                                       &
     1028               +d_v_age(1:mxcalc)+d_v_adv(1:mxcalc)                       &
     1029               +d_v_nudge(1:mxcalc) )
    10301030        q(1:mxcalc,:)=q(1:mxcalc,:)+timestep*(                              &
    1031      &                dq(1:mxcalc,:)                                        &
    1032      &               +d_q_adv(1:mxcalc,:)                                   &
    1033      &               +d_q_nudge(1:mxcalc,:) )
     1031                  dq(1:mxcalc,:)                                        &
     1032                 +d_q_adv(1:mxcalc,:)                                   &
     1033                 +d_q_nudge(1:mxcalc,:) )
    10341034
    10351035        if (prt_level>=3) then
    10361036          print *,                                                          &
    1037      &    'physiq-> temp(1),dt_phys(1),d_t_adv(1),dt_cooling(1) ',         &
    1038      &              temp(1),dt_phys(1),d_t_adv(1),dt_cooling(1)
     1037      'physiq-> temp(1),dt_phys(1),d_t_adv(1),dt_cooling(1) ',         &
     1038                temp(1),dt_phys(1),d_t_adv(1),dt_cooling(1)
    10391039           print* ,'dv_phys=',dv_phys
    10401040           print* ,'d_v_age=',d_v_age
     
    10461046
    10471047        temp(1:mxcalc)=temp(1:mxcalc)+timestep*(                            &
    1048      &              dt_phys(1:mxcalc)                                       &
    1049      &             +d_t_adv(1:mxcalc)                                       &
    1050      &             +d_t_nudge(1:mxcalc)                                     &
    1051      &             +dt_cooling(1:mxcalc))  ! Taux de chauffage ou refroid.
     1048                dt_phys(1:mxcalc)                                       &
     1049               +d_t_adv(1:mxcalc)                                       &
     1050               +d_t_nudge(1:mxcalc)                                     &
     1051               +dt_cooling(1:mxcalc))  ! Taux de chauffage ou refroid.
    10521052
    10531053
     
    10641064      IF (nudge_tsoil .AND. .NOT. lastcall) THEN
    10651065       ftsoil(1,isoil_nudge,:) = ftsoil(1,isoil_nudge,:)                     &
    1066      &  -timestep/tau_soil_nudge*(ftsoil(1,isoil_nudge,:)-Tsoil_nudge)
     1066    -timestep/tau_soil_nudge*(ftsoil(1,isoil_nudge,:)-Tsoil_nudge)
    10671067      ENDIF
    10681068
     
    11101110! ---------------------------------------------------------------------------
    11111111       call dyn1dredem("restart1dyn.nc",                                    &
    1112      &              plev,play,phi,phis,presnivs,                            &
    1113      &              u,v,temp,q,omega2)
     1112                plev,play,phi,phis,presnivs,                            &
     1113                u,v,temp,q,omega2)
    11141114
    11151115        CALL abort_gcm ('lmdz1d   ','The End  ',0)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/ener_conserv.F90

    r5082 r5087  
    11subroutine ener_conserv(klon,klev,pdtphys, &
    2  &                      puo,pvo,pto,qx,ivap,iliq,isol, &
    3  &                      pun,pvn,ptn,pqn,pqln,pqsn,dtke,masse,exner,d_t_ec)
     2                        puo,pvo,pto,qx,ivap,iliq,isol, &
     3                        pun,pvn,ptn,pqn,pqln,pqsn,dtke,masse,exner,d_t_ec)
    44
    55!=============================================================
     
    2121! From module
    2222USE phys_local_var_mod, ONLY : d_u_vdf,d_v_vdf,d_t_vdf,d_u_ajs,d_v_ajs,d_t_ajs, &
    23  &                             d_u_con,d_v_con,d_t_con,d_t_diss
     23                               d_u_con,d_v_con,d_t_con,d_t_diss
    2424USE phys_local_var_mod, ONLY : d_t_eva,d_t_lsc,d_q_eva,d_q_lsc
    2525USE phys_local_var_mod, ONLY : d_u_oro,d_v_oro,d_u_lif,d_v_lif
     
    7979     ENDIF
    8080     d_t_ec(i,k)=0.5/ZRCPD &
    81  &     *(puo(i,k)**2+pvo(i,k)**2-pun(i,k)**2-pvn(i,k)**2)
     81       *(puo(i,k)**2+pvo(i,k)**2-pun(i,k)**2-pvn(i,k)**2)
    8282   ENDDO
    8383   ENDDO
     
    233233        bils_diss(:)=bils_diss(:)-d_t_diss(:,k)*masse(:,k)
    234234        bils_kinetic(:)=bils_kinetic(:)+masse(:,k)* &
    235      &           (pun(:,k)*pun(:,k)+pvn(:,k)*pvn(:,k) &
    236      &            -puo(:,k)*puo(:,k)-pvo(:,k)*pvo(:,k))
     235             (pun(:,k)*pun(:,k)+pvn(:,k)*pvn(:,k) &
     236              -puo(:,k)*puo(:,k)-pvo(:,k)*pvo(:,k))
    237237        bils_enthalp(:)= &
    238      &  bils_enthalp(:)+masse(:,k)*(ptn(:,k)-pto(:,k)+d_t_ec(:,k)-d_t_eva(:,k)-d_t_lsc(:,k))
     238    bils_enthalp(:)+masse(:,k)*(ptn(:,k)-pto(:,k)+d_t_ec(:,k)-d_t_eva(:,k)-d_t_lsc(:,k))
    239239!    &  bils_enthalp(:)+masse(:,k)*(ptn(:,k)-pto(:,k)+d_t_ec(:,k))
    240240        bils_latent(:)=bils_latent(:)+masse(:,k)* &
    241241!    &             (pqn(:,k)-pqo(:,k))
    242      &             (pqn(:,k)-pqo(:,k)-d_q_eva(:,k)-d_q_lsc(:,k))
     242               (pqn(:,k)-pqo(:,k)-d_q_eva(:,k)-d_q_lsc(:,k))
    243243      ENDDO
    244244      bils_ec(:)=rcpd*bils_ec(:)/pdtphys
  • LMDZ6/branches/Amaury_dev/libf/phylmd/evappot.F90

    r5082 r5087  
    11SUBROUTINE evappot(klon,nbsrf,ftsol,pplay,cdragh,  &
    2        &    t_seri,q_seri,u_seri,v_seri,evap_pot)
     2      t_seri,q_seri,u_seri,v_seri,evap_pot)
    33
    44IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/phylmd/fonte_neige_mod.F90

    r5022 r5087  
    178178      IF (iso_eau > 0) THEN   
    179179        CALL iso_verif_egalite_vect1D( &
    180      &           xtrun_off_lic_0,run_off_lic_0,'fonte_neige 100', &
    181      &           niso,klon)
     180             xtrun_off_lic_0,run_off_lic_0,'fonte_neige 100', &
     181             niso,klon)
    182182      ENDIF !IF (iso_eau > 0) THEN
    183183#endif       
     
    233233       snow, qsol, tsurf_new, evap &
    234234#ifdef ISO   
    235      & ,fq_fonte_diag,fqfonte_diag,snow_evap_diag,fqcalving_diag   &
    236      & ,max_eau_sol_diag,runoff_diag,run_off_lic_diag,coeff_rel_diag   &
    237 #endif
    238      &   )
     235   ,fq_fonte_diag,fqfonte_diag,snow_evap_diag,fqcalving_diag   &
     236   ,max_eau_sol_diag,runoff_diag,run_off_lic_diag,coeff_rel_diag   &
     237#endif
     238     )
    239239
    240240    USE indice_sol_mod
     
    471471  SUBROUTINE fonte_neige_final(restart_runoff &
    472472#ifdef ISO     
    473      &                        ,xtrestart_runoff &
     473                          ,xtrestart_runoff &
    474474#endif   
    475      &                        )
     475                          )
    476476!
    477477! This subroutine returns run_off_lic_0 for later writing to restart file.
     
    505505      DO i=1,klon
    506506        IF (iso_verif_egalite_nostop(run_off_lic_0(i) &
    507      &                              ,xtrun_off_lic_0(iso_eau,i) &
    508      &                              ,'fonte_neige 413') &
    509      &      == 1) then
     507                                ,xtrun_off_lic_0(iso_eau,i) &
     508                                ,'fonte_neige 413') &
     509        == 1) then
    510510          WRITE(*,*) 'i=',i
    511511          STOP
     
    546546              fqfonte_out, ffonte_out, run_off_lic_out &
    547547#ifdef ISO     
    548      &       ,fxtcalving_out, fxtfonte_out,xtrun_off_lic_out &
     548         ,fxtcalving_out, fxtfonte_out,xtrun_off_lic_out &
    549549#endif     
    550      &       )
     550         )
    551551
    552552
     
    626626#ifdef ISO
    627627  SUBROUTINE gestion_neige_besoin_varglob_fonte_neige(klon,knon, &
    628      &           xtprecip_snow,xtprecip_rain, &
    629      &           fxtfonte_neige,fxtcalving, &
    630      &           knindex,nisurf,run_off_lic_diag,coeff_rel_diag)
     628             xtprecip_snow,xtprecip_rain, &
     629             fxtfonte_neige,fxtcalving, &
     630             knindex,nisurf,run_off_lic_diag,coeff_rel_diag)
    631631
    632632        ! dans cette routine, on a besoin des variables globales de
     
    661661           j = knindex(i)
    662662           CALL iso_verif_egalite(xtrun_off_lic_0(iso_eau,j), &
    663      &             run_off_lic_0(j),'gestion_neige_besoin_varglob_fonte_neige 625')
     663               run_off_lic_0(j),'gestion_neige_besoin_varglob_fonte_neige 625')
    664664        ENDDO
    665665      ENDIF
     
    676676        DO ixt = 1, niso
    677677          xtrun_off_lic(ixt,i)   = (coeff_rel_diag *  fxtcalving(ixt,i)) &
    678      &                            +(1. - coeff_rel_diag) * xtrun_off_lic_0(ixt,j)
     678                              +(1. - coeff_rel_diag) * xtrun_off_lic_0(ixt,j)
    679679          xtrun_off_lic_0(ixt,j) = xtrun_off_lic(ixt,i)
    680680          xtrun_off_lic(ixt,i)   = xtrun_off_lic(ixt,i) + fxtfonte_neige(ixt,i) + xtprecip_rain(ixt,i)
     
    683683          IF (iso_eau > 0) THEN             
    684684            IF (iso_verif_egalite_choix_nostop(xtrun_off_lic(iso_eau,i), &
    685      &                  run_off_lic_diag(i),'gestion_neige_besoin_varglob_fonte_neige 1201a', &
    686      &                  errmax,errmaxrel) == 1) THEN
     685                    run_off_lic_diag(i),'gestion_neige_besoin_varglob_fonte_neige 1201a', &
     686                    errmax,errmaxrel) == 1) THEN
    687687               WRITE(*,*) 'i,j=',i,j   
    688688               WRITE(*,*) 'coeff_rel_diag=',coeff_rel_diag
  • LMDZ6/branches/Amaury_dev/libf/phylmd/grid_noro_m.F90

    r5075 r5087  
    160160      zxtzxusn(i,j)=(zusn(i+1,j)-zusn(i-1,j))**2/zdeltax**2
    161161      zxtzyusn(i,j)=(zusn(i,j+1)-zusn(i,j-1))   /zdeltay  &
    162      &             *(zusn(i+1,j)-zusn(i-1,j))   /zdeltax
     162               *(zusn(i+1,j)-zusn(i-1,j))   /zdeltax
    163163    END DO
    164164  END DO
  • LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/VARdSV.F90

    r3792 r5087  
    5757
    5858      REAL,PARAMETER    ::   etadSV(0:nsot) = (/ 1.000,0.395,0.410,     &
    59      &     0.435,0.485,0.451,0.420,0.477,0.476,0.426,0.492,0.482,0.001 /)     
     59       0.435,0.485,0.451,0.420,0.477,0.476,0.426,0.492,0.482,0.001 /)
    6060                                                  ! Water Content at Saturation  [m3/m3]
    6161
    6262      REAL,PARAMETER    ::   psidSV(0:nsot) = (/ 1.000,0.121,0.090,     &
    63      &     0.218,0.786,0.478,0.299,0.356,0.630,0.153,0.490,0.405,0.001 /)
     63       0.218,0.786,0.478,0.299,0.356,0.630,0.153,0.490,0.405,0.001 /)
    6464                                                  ! Water Succion at Saturation      [m]
    6565
    6666      REAL,PARAMETER    ::   Ks_dSV(0:nsot) = (/ 0.e00, 176.0e-6,       &
    67      &          156.3e-6,  34.1e-6,   7.2e-6,   7.0e-6,   6.3e-6,       &
    68      &            1.7e-6,   2.5e-6,   2.2e-6,   1.0e-6,   1.3e-6,0.0e0 /)
     67            156.3e-6,  34.1e-6,   7.2e-6,   7.0e-6,   6.3e-6,       &
     68              1.7e-6,   2.5e-6,   2.2e-6,   1.0e-6,   1.3e-6,0.0e0 /)
    6969                                                  ! Hydraulic Conductivity
    7070                                                  !               at Saturation    [m/s]
    7171      REAL,PARAMETER    ::   bCHdSV(0:nsot) = (/ 1.00, 4.05, 4.38,      &
    72      &      4.90, 5.30, 5.39, 7.12, 7.75, 8.52,10.40,10.40,11.40, 0.02 /)
     72        4.90, 5.30, 5.39, 7.12, 7.75, 8.52,10.40,10.40,11.40, 0.02 /)
    7373                                                  ! Clapp-Hornberger Coefficient b   [-]
    7474
  • LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/VARphy.F90

    r3900 r5087  
    2626      INTEGER, PARAMETER ::  iun=1                                             
    2727      REAL, PARAMETER    ::  zer0 = 0.0e+0, half = 0.5e+0, un_1 = 1.0e+0,     &
    28      &                       eps6 = 1.0e-6, R_1000=1.e3   
     28                         eps6 = 1.0e-6, R_1000=1.e3
    2929      REAL, PARAMETER    ::  zero = 0.0e+0, demi = 0.5e+0, unun = 1.0e+0,     &
    30      &                       epsi = 1.0e-6, eps9 = 1.0e-9         
     30                         epsi = 1.0e-6, eps9 = 1.0e-9
    3131      REAL               ::  ea_MAX,ea_MIN                                                                               
    3232      REAL, PARAMETER    ::  pi = 3.141592653589793238462643e0
     
    4040                                                                               
    4141      REAL, PARAMETER    ::  gravit = 9.81e0,      gravi2 = gravit**2 ,       &
    42      &                       grvinv = 1./gravit                       
     42                         grvinv = 1./gravit
    4343!C +                   gravit: Earth Gravity Acceleration    = 9.81    m/s2   
    4444!C +                   gravi2: idem (squared)                                 
     
    5555                                                       
    5656      REAL, PARAMETER    ::  RVapor=461.e0, Lv_H2O=2.5008e+6,&
    57      &                       Ls_H2O=2.8345e+6, r_LvCp=2490.04,r_LcCp=332.27,  &
    58      &                       r_LsCp=2822.31           
     57                         Ls_H2O=2.8345e+6, r_LvCp=2490.04,r_LcCp=332.27,  &
     58                         r_LsCp=2822.31
    5959!C +                   cp    : dry air specific heat at constant p (1004 J/kg/K)
    6060
    6161      REAL, PARAMETER    ::  LhfH2O=3.34e+5, LhvH2O=2.5008e+6,&
    62      &                       LhsH2O=2.8345e+6     
     62                         LhsH2O=2.8345e+6
    6363      REAL, PARAMETER    ::  rhoWat=1000.00e0   
    6464!C +                   rhoWat: Water Specific Mass            = 1000.00d+0 kg/m3
     
    8181                                                                               
    8282      REAL, PARAMETER    ::  TfSnow=273.15e+0,csnow=2105.00e+0,r0sno=3.00e+1, &
    83      &                       blsno=3.30e+2,   Lf_H2O=3.337e+5                         
     83                         blsno=3.30e+2,   Lf_H2O=3.337e+5
    8484!C +...                TfSnow:        Snow melting Temperature=  273.15d+0 K     
    8585!C +                    csnow:Heat Capacity of Snow             2105      J/kg/K
  • LMDZ6/branches/Amaury_dev/libf/phylmd/inlandsis/surf_inlandsis_mod.F90

    r5086 r5087  
    501501                write(un_outfor, *) fn_outfor, ikl, dt__SV, rlon(ikl2i(ikl)), rlat(ikl2i(ikl))
    502502                write(un_outfor, *) 'nsnow - albedo - z0m - z0h , dz [m,30], temp [K,41], rho [kg/m3,41], eta [kg/kg,41] &
    503                         & G1 [-,30], G2 [-,30], agesnow [d,30], history [-,30], DOP [m,30]'
     503   G1 [-,30], G2 [-,30], agesnow [d,30], history [-,30], DOP [m,30]'
    504504            END IF
    505505
     
    963963            dz_8SV(isl) = 0.125 * dz_dSV(isl)
    964964            dzAvSV(isl) = 0.125 * dz_dSV(islmSV(isl))                        &
    965                     & + 0.750 * dz_dSV(isl)                                &
    966                     & + 0.125 * dz_dSV(islpSV(isl))
     965   + 0.750 * dz_dSV(isl)                                &
     966   + 0.125 * dz_dSV(islpSV(isl))
    967967            zz_dSV = zz_dSV + dz_dSV(isl)
    968968        END DO
     
    986986            rocsSV(ist) = (1.0 - etadSV(ist)) * 1.2E+6   ! Soil Contrib. to (ro c)_s
    987987            s1__SV(ist) = bCHdSV(ist)          & ! Factor of (eta)**(b+2)
    988                     & * psidSV(ist) * Ks_dSV(ist)          & !    in DR97, Eqn.(3.36)
    989                     & / (etadSV(ist)**(bCHdSV(ist) + 3.))     !
     988   * psidSV(ist) * Ks_dSV(ist)          & !    in DR97, Eqn.(3.36)
     989   / (etadSV(ist)**(bCHdSV(ist) + 3.))     !
    990990            s2__SV(ist) = Ks_dSV(ist)          & ! Factor of (eta)**(2b+3)
    991                     & / (etadSV(ist)**(2. * bCHdSV(ist) + 3.))     !    in DR97, Eqn.(3.35)
     991   / (etadSV(ist)**(2. * bCHdSV(ist) + 3.))     !    in DR97, Eqn.(3.35)
    992992
    993993            !C +--Soil Minimum Humidity (from a prescribed minimum relative Humidity)
     
    995995            Psimax = -(log(RHsMin)) / 7.2E-5        ! DR97, Eqn 3.15 Inversion
    996996            etamSV(ist) = etadSV(ist)                                      &
    997                     & * (PsiMax / psidSV(ist))**(-min(10., 1. / bCHdSV(ist)))
     997   * (PsiMax / psidSV(ist))**(-min(10., 1. / bCHdSV(ist)))
    998998        END DO
    999999        etamSV(12) = 0.
     
    10081008            DO ikh = 0, nkhy
    10091009                Khyd_1 = s2__SV(ist)             & ! DR97, Eqn.(3.35)
    1010                         & * (eta__1      **(2. * bCHdSV(ist) + 3.))        !
     1010   * (eta__1      **(2. * bCHdSV(ist) + 3.))        !
    10111011                Khyd_2 = s2__SV(ist)             &!
    1012                         & * (eta__2      **(2. * bCHdSV(ist) + 3.))        !
     1012   * (eta__2      **(2. * bCHdSV(ist) + 3.))        !
    10131013
    10141014                a_Khyd = (Khyd_2 - Khyd_1) / d__eta   !
  • LMDZ6/branches/Amaury_dev/libf/phylmd/iotd_ini.F90

    r5075 r5087  
    148148      WRITE(date0,'(i4.4,"-",i2.2,"-",i2.2)') an0,mois0,jour0
    149149      ierr=NF_PUT_ATT_TEXT(nid, nvarid,'units',33, &
    150      & "seconds since "//date0//" 00:00:00")
     150   "seconds since "//date0//" 00:00:00")
    151151      ierr = NF_PUT_ATT_TEXT(nid,nvarid,'calendar',9,calendrier)
    152152      !ierr = NF_PUT_ATT_TEXT(nid,nvarid,'calendar',4,'360d')
     
    155155      WRITE(date0b,'(i4.4,"-",a3,"-",i2.2)') an0,cmois(mois0),jour0
    156156      ierr = NF_PUT_ATT_TEXT(nid,nvarid,'time_origin',20, &
    157      &        date0b//' 00:00:00')
     157          date0b//' 00:00:00')
    158158      ierr=NF_ENDDEF(nid)
    159159
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_call_cloud_optics_prop.F90

    r5082 r5087  
    101101        IF (ok_new_lscp) THEN
    102102          CALL icefrac_lscp(klon,temp(:,k),iflag_ice_thermo,distcltop(:,k),temp_cltop(:,k), &
    103    &         icefrac_optics(:,k),dzfice(:,k))
     103           icefrac_optics(:,k),dzfice(:,k))
    104104        ELSE
    105105          CALL icefrac_lsc(klon,temp(:,k),pplay(1:klon,k)/paprs(1:klon,1),icefrac_optics(:,k))
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_cloud_optics_prop.F90

    r5082 r5087  
    306306            iwc=icefrac_optics(i, k)*radocond(i, k)/pclc(i,k)*zrho(i,k)*1000. !in cloud ice water content in g/m3
    307307            dei=(1.2351+0.0105*(temp(i,k)-273.15))*(45.8966*(iwc**0.2214) + &
    308                & 0.7957*(iwc**0.2535)*(temp(i,k)-83.15))
     308   0.7957*(iwc**0.2535)*(temp(i,k)-83.15))
    309309            !deimax=155.0
    310310            !deimin=20.+40*cos(abs(latitude_deg(i))/180.*RPI)
     
    414414            iwc=icefrac_optics(i, k)*radocond(i, k)/pclc(i,k)*zrho(i,k)*1000. !in cloud ice water content in g/m3
    415415            dei=(1.2351+0.0105*(temp(i,k)-273.15))*(45.8966*(iwc**0.2214) + &
    416                &0.7957*(iwc**0.2535)*(temp(i,k)-83.15))
     416  0.7957*(iwc**0.2535)*(temp(i,k)-83.15))
    417417            !deimax=155.0
    418418            !deimin=20.+40*cos(abs(latitude_deg(i))/180.*RPI)
     
    633633            IF (first) THEN
    634634              WRITE (*, *) 'Hypothese de recouvrement: MAXIMUM_ &
    635                 &                                             &
    636                 &                                          RANDOM'
     635
     636                                            RANDOM'
    637637              first = .FALSE.
    638638            ENDIF
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_cloud_optics_prop_ini.F90

    r4707 r5087  
    4444
    4545  SUBROUTINE cloud_optics_prop_ini(klon, prt_level_in, lunout_in, flag_aerosol_in, &
    46        & ok_cdnc_in, bl95_b0_in, &
    47        & bl95_b1_in, latitude_deg_in, rpi_in, rg_in, rd_in, zepsec_in, novlp_in, &
    48        & iflag_ice_thermo_in, ok_new_lscp_in)
     46   ok_cdnc_in, bl95_b0_in, &
     47   bl95_b1_in, latitude_deg_in, rpi_in, rg_in, rd_in, zepsec_in, novlp_in, &
     48   iflag_ice_thermo_in, ok_new_lscp_in)
    4949
    5050    USE ioipsl_getin_p_mod, ONLY : getin_p
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_cloudth.F90

    r5082 r5087  
    77
    88       SUBROUTINE cloudth(ngrid,klev,ind2,  &
    9      &           ztv,po,zqta,fraca, &
    10      &           qcloud,ctot,zpspsk,paprs,pplay,ztla,zthl, &
    11      &           ratqs,zqs,t, &
    12      &           cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv)
     9             ztv,po,zqta,fraca, &
     10             qcloud,ctot,zpspsk,paprs,pplay,ztla,zthl, &
     11             ratqs,zqs,t, &
     12             cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv)
    1313
    1414
     
    8181      IF (iflag_cloudth_vert>=1) THEN
    8282      CALL cloudth_vert(ngrid,klev,ind2,  &
    83      &           ztv,po,zqta,fraca, &
    84      &           qcloud,ctot,zpspsk,paprs,pplay,ztla,zthl, &
    85      &           ratqs,zqs,t)
     83             ztv,po,zqta,fraca, &
     84             qcloud,ctot,zpspsk,paprs,pplay,ztla,zthl, &
     85             ratqs,zqs,t)
    8686      RETURN
    8787      ENDIF
     
    254254!===========================================================================
    255255     SUBROUTINE cloudth_vert(ngrid,klev,ind2,  &
    256      &           ztv,po,zqta,fraca, &
    257      &           qcloud,ctot,zpspsk,paprs,pplay,ztla,zthl, &
    258      &           ratqs,zqs,t)
     256             ztv,po,zqta,fraca, &
     257             qcloud,ctot,zpspsk,paprs,pplay,ztla,zthl, &
     258             ratqs,zqs,t)
    259259
    260260!===========================================================================
     
    581581
    582582       SUBROUTINE cloudth_v3(ngrid,klev,ind2,  &
    583      &           ztv,po,zqta,fraca, &
    584      &           qcloud,ctot,ctot_vol,zpspsk,paprs,pplay,ztla,zthl, &
    585      &           ratqs,zqs,t, &
    586      &           cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv)
     583             ztv,po,zqta,fraca, &
     584             qcloud,ctot,ctot_vol,zpspsk,paprs,pplay,ztla,zthl, &
     585             ratqs,zqs,t, &
     586             cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv)
    587587
    588588      use lmdz_cloudth_ini, only: iflag_cloudth_vert
     
    653653      IF (iflag_cloudth_vert>=1) THEN
    654654      CALL cloudth_vert_v3(ngrid,klev,ind2,  &
    655      &           ztv,po,zqta,fraca, &
    656      &           qcloud,ctot,ctot_vol,zpspsk,paprs,pplay,ztla,zthl, &
    657      &           ratqs,zqs,t, &
    658      &           cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv)
     655             ztv,po,zqta,fraca, &
     656             qcloud,ctot,ctot_vol,zpspsk,paprs,pplay,ztla,zthl, &
     657             ratqs,zqs,t, &
     658             cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv)
    659659      RETURN
    660660      ENDIF
     
    808808!===========================================================================
    809809     SUBROUTINE cloudth_vert_v3(ngrid,klev,ind2,  &
    810      &           ztv,po,zqta,fraca, &
    811      &           qcloud,ctot,ctot_vol,zpspsk,paprs,pplay,ztla,zthl, &
    812      &           ratqs,zqs,t, &
    813      &           cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv)
     810             ztv,po,zqta,fraca, &
     811             qcloud,ctot,ctot_vol,zpspsk,paprs,pplay,ztla,zthl, &
     812             ratqs,zqs,t, &
     813             cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv)
    814814
    815815!===========================================================================
     
    970970
    971971      sigma1s_fraca = (sigma1s_factor**0.5)*(fraca(ind1,ind2)**sigma1s_power) / &
    972      &                (1-fraca(ind1,ind2))*((sth-senv)**2)**0.5
     972                  (1-fraca(ind1,ind2))*((sth-senv)**2)**0.5
    973973!     sigma1s_fraca = (1.1**0.5)*(fraca(ind1,ind2)**0.6)/(1-fraca(ind1,ind2))*((sth-senv)**2)**0.5
    974974      IF (cloudth_ratqsmin>0.) THEN
     
    12391239
    12401240       SUBROUTINE cloudth_v6(ngrid,klev,ind2,  &
    1241      &           ztv,po,zqta,fraca, &
    1242      &           qcloud,ctot_surf,ctot_vol,zpspsk,paprs,pplay,ztla,zthl, &
    1243      &           ratqs,zqs,T, &
    1244      &           cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv)
     1241             ztv,po,zqta,fraca, &
     1242             qcloud,ctot_surf,ctot_vol,zpspsk,paprs,pplay,ztla,zthl, &
     1243             ratqs,zqs,T, &
     1244             cloudth_sth,cloudth_senv,cloudth_sigmath,cloudth_sigmaenv)
    12451245
    12461246      use lmdz_cloudth_ini, only: iflag_cloudth_vert
     
    16911691
    16921692           sigma1s_fraca = (sigma1s_factor**0.5)*(frac_th(ind1)**sigma1s_power) / &
    1693            &                (1-frac_th(ind1))*((sth-senv)**2)**0.5
     1693                  (1-frac_th(ind1))*((sth-senv)**2)**0.5
    16941694
    16951695           IF (cloudth_ratqsmin>0.) THEN
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_lscp.F90

    r5082 r5087  
    10101010            ! temperature update due to phase change
    10111011            zt(i) = zt(i) + (1.-zfice(i))*zcond(i) &
    1012             &     * RLVTT/RCPD/(1.0+RVTMP2*(zq(i)+zmqc(i)+zcond(i))) &
     1012       * RLVTT/RCPD/(1.0+RVTMP2*(zq(i)+zmqc(i)+zcond(i))) &
    10131013                  +zfice(i)*zcond(i) * RLSTT/RCPD/(1.0+RVTMP2*(zq(i)+zmqc(i)+zcond(i)))
    10141014        ENDDO
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_lscp_old.F90

    r5082 r5087  
    709709           zdqs(i) = FOEDE(zt(i),zdelta,zcvm5,zqs(i),zcor)
    710710           zdqsdT_raw(i) = zdqs(i)*  &
    711          &         RCPD*(1.0+RVTMP2*zq(i)) / (RLVTT*(1.-zdelta) + RLSTT*zdelta)
     711           RCPD*(1.0+RVTMP2*zq(i)) / (RLVTT*(1.-zdelta) + RLSTT*zdelta)
    712712        ENDDO
    713713     ELSE
     
    966966                    zfice(i) = zfice(i)**exposant_glace_old
    967967                    dzfice(i)= exposant_glace_old * zfice(i)**(exposant_glace_old-1) &
    968           &                     / (t_glace_min_old - RTT)
     968                       / (t_glace_min_old - RTT)
    969969                 endif
    970970                 
    971971                 if (iflag_t_glace>=1.and.zfice(i)>0.) then
    972972                 dzfice(i)= exposant_glace * zfice(i)**(exposant_glace-1) &
    973           &                    / (t_glace_min - t_glace_max)
     973                      / (t_glace_min - t_glace_max)
    974974                 endif
    975975               
     
    987987               if (fl_cor_ebil > 0) then
    988988                 num = -Tbef(i)+zt(i)+rneb(i,k)*((1-zfice(i))*RLVTT &
    989            &          +zfice(i)*RLSTT)/RCPD/(1.0+RVTMP2*(zq(i)+zmqc(i)))*qlbef(i)
     989            +zfice(i)*RLSTT)/RCPD/(1.0+RVTMP2*(zq(i)+zmqc(i)))*qlbef(i)
    990990                 denom = 1.+rneb(i,k)*((1-zfice(i))*RLVTT+zfice(i)*RLSTT)/cste*zdqs(i) &
    991991                         -(RLSTT-RLVTT)/RCPD/(1.0+RVTMP2*(zq(i)+zmqc(i)))*rneb(i,k)    &
    992            &               *qlbef(i)*dzfice(i)
     992                 *qlbef(i)*dzfice(i)
    993993               else
    994994                 num = -Tbef(i)+zt(i)+rneb(i,k)*((1-zfice(i))*RLVTT &
    995            &         +zfice(i)*RLSTT)/RCPD/(1.0+RVTMP2*zq(i))*qlbef(i)
     995           +zfice(i)*RLSTT)/RCPD/(1.0+RVTMP2*zq(i))*qlbef(i)
    996996                 denom = 1.+rneb(i,k)*((1-zfice(i))*RLVTT+zfice(i)*RLSTT)/cste*zdqs(i) &
    997997                         -(RLSTT-RLVTT)/RCPD/(1.0+RVTMP2*zq(i))*rneb(i,k)*qlbef(i)*dzfice(i)
     
    11511151        if (fl_cor_ebil > 0) then
    11521152              zt(i) = zt(i) + (1.-zfice(i))*zcond(i) &
    1153            &             * RLVTT/RCPD/(1.0+RVTMP2*(zq(i)+zmqc(i)+zcond(i))) &
     1153               * RLVTT/RCPD/(1.0+RVTMP2*(zq(i)+zmqc(i)+zcond(i))) &
    11541154                      +zfice(i)*zcond(i) * RLSTT/RCPD/(1.0+RVTMP2*(zq(i)+zmqc(i)+zcond(i)))
    11551155        else
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_ratqs_multi.F90

    r5082 r5087  
    105105      po(:,:) = q_seri(:,:)
    106106      call thermcell_dq(klon,klev,dqimpl,pdtphys,fm0,entr0,zmasse,  &
    107      &                   po,pdoadj,zoa,lev_out)
     107                     po,pdoadj,zoa,lev_out)
    108108      do k=1,klev
    109109         do i=1,klon
     
    112112      enddo
    113113      call thermcell_dq(klon,klev,dqimpl,pdtphys,fm0,entr0,zmasse,  &
    114       &                   pocarre,pdocarreadj,zocarrea,lev_out)
     114                     pocarre,pdocarreadj,zocarrea,lev_out)
    115115
    116116
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_alim.F90

    r4590 r5087  
    4545            if (ztv(ig,l)> ztv(ig,l+1) .and. ztv(ig,1)>=ztv(ig,l) ) then
    4646               alim_star(ig,l)=MAX((ztv(ig,l)-ztv(ig,l+1)),0.)  &
    47      &                       *sqrt(zlev(ig,l+1))
     47                         *sqrt(zlev(ig,l+1))
    4848               lalim(ig)=l+1
    4949               alim_star_tot(ig)=alim_star_tot(ig)+alim_star(ig,l)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_alp.F90

    r5082 r5087  
    55
    66      SUBROUTINE thermcell_alp(ngrid,nlay,ptimestep  &                         ! in
    7      &                  ,pplay,pplev  &                                        ! in
    8      &                  ,fm0,entr0,lmax  &                                     ! in
    9      &                  ,pbl_tke,pctsrf,omega,airephy &                        ! in
    10      &                  ,zw2,fraca &                                           ! in
    11      &                  ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax &  ! in
     7                    ,pplay,pplev  &                                        ! in
     8                    ,fm0,entr0,lmax  &                                     ! in
     9                    ,pbl_tke,pctsrf,omega,airephy &                        ! in
     10                    ,zw2,fraca &                                           ! in
     11                    ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax &  ! in
    1212!
    13      &                  ,zcong,ale_bl,alp_bl,lalim_conv,wght_th &                    ! out
    14      &                  ,zlcl,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 &   ! out
    15      &                  ,n2,s2,strig,ale_bl_stat &                                   ! out
    16      &                  ,therm_tke_max,env_tke_max &                           ! out
    17      &                  ,alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke &          ! out
    18      &                  ,alp_bl_conv,alp_bl_stat &                             ! out
    19      &)
     13                    ,zcong,ale_bl,alp_bl,lalim_conv,wght_th &                    ! out
     14                    ,zlcl,fraca0,w0,w_conv,therm_tke_max0,env_tke_max0 &   ! out
     15                    ,n2,s2,strig,ale_bl_stat &                                   ! out
     16                    ,therm_tke_max,env_tke_max &                           ! out
     17                    ,alp_bl_det,alp_bl_fluct_m,alp_bl_fluct_tke &          ! out
     18                    ,alp_bl_conv,alp_bl_stat &                             ! out
     19  )
    2020
    2121      USE indice_sol_mod
     
    161161     if (ok_lcl(ig)) then
    162162      rhobarz0(ig)=rhobarz(ig,klcl(ig))+(rhobarz(ig,klcl(ig)+1) &
    163  &               -rhobarz(ig,klcl(ig)))*interp(ig)
     163                 -rhobarz(ig,klcl(ig)))*interp(ig)
    164164      zlcl(ig)=(pplev(ig,1)-pcon(ig))/(rhobarz0(ig)*RG)
    165165      zlcl(ig)=min(zlcl(ig),zmax(ig))   ! Si zlcl > zmax alors on pose zlcl = zmax
     
    200200!-----Calcul de la TKE transport�e par les thermiques : therm_tke_max
    201201   call thermcell_tke_transport(ngrid,nlay,ptimestep,fm0,entr0,  &  ! in
    202   &           rg,pplev,therm_tke_max)                               ! out
     202             rg,pplev,therm_tke_max)                               ! out
    203203!   print *,' thermcell_tke_transport -> '   !!jyg
    204204
     
    216216   if (ok_lcl(ig)) then
    217217     fraca0(ig)=fraca(ig,klcl(ig))+(fraca(ig,klcl(ig)+1) &
    218  &             -fraca(ig,klcl(ig)))*interp(ig)
     218               -fraca(ig,klcl(ig)))*interp(ig)
    219219     w0(ig)=zw2(ig,klcl(ig))+(zw2(ig,klcl(ig)+1) &
    220  &         -zw2(ig,klcl(ig)))*interp(ig)
     220           -zw2(ig,klcl(ig)))*interp(ig)
    221221     w_conv(ig)=w_ls(ig,klcl(ig))+(w_ls(ig,klcl(ig)+1) &
    222  &             -w_ls(ig,klcl(ig)))*interp(ig)
     222               -w_ls(ig,klcl(ig)))*interp(ig)
    223223     therm_tke_max0(ig)=therm_tke_max(ig,klcl(ig)) &
    224  &                     +(therm_tke_max(ig,klcl(ig)+1)-therm_tke_max(ig,klcl(ig)))*interp(ig)
     224                       +(therm_tke_max(ig,klcl(ig)+1)-therm_tke_max(ig,klcl(ig)))*interp(ig)
    225225     env_tke_max0(ig)=env_tke_max(ig,klcl(ig))+(env_tke_max(ig,klcl(ig)+1) &
    226  &                   -env_tke_max(ig,klcl(ig)))*interp(ig)
     226                     -env_tke_max(ig,klcl(ig)))*interp(ig)
    227227     pbl_tke_max0(ig)=pbl_tke_max(ig,klcl(ig))+(pbl_tke_max(ig,klcl(ig)+1) &
    228  &                   -pbl_tke_max(ig,klcl(ig)))*interp(ig)
     228                     -pbl_tke_max(ig,klcl(ig)))*interp(ig)
    229229     if (therm_tke_max0(ig)>=20.) therm_tke_max0(ig)=20.
    230230     if (env_tke_max0(ig)>=20.) env_tke_max0(ig)=20.
     
    316316  alp_bl_det(ig)=0.5*coef_m*rhobarz0(ig)*(w0(ig)**3)*fraca0(ig)*(1.-2.*fraca0(ig))/((1.-fraca0(ig))**2)
    317317  alp_bl_fluct_m(ig)=1.5*rhobarz0(ig)*fraca0(ig)*(w_conv(ig)+coef_m*w0(ig))* &
    318  &                   (w0(ig)**2)
     318                     (w0(ig)**2)
    319319  alp_bl_fluct_tke(ig)=3.*coef_m*rhobarz0(ig)*w0(ig)*fraca0(ig)*(therm_tke_max0(ig)-env_tke_max0(ig)) &
    320  &                    +3.*rhobarz0(ig)*w_conv(ig)*pbl_tke_max0(ig)
     320                      +3.*rhobarz0(ig)*w_conv(ig)*pbl_tke_max0(ig)
    321321    if (iflag_clos_bl>=2) then
    322322    alp_bl_conv(ig)=1.5*coef_m*rhobarz0(ig)*fraca0(ig)*(fraca0(ig)/(1.-fraca0(ig)))*w_conv(ig)* &
    323  &                   (w0(ig)**2)
     323                     (w0(ig)**2)
    324324    else
    325325    alp_bl_conv(ig)=0.
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_closure.F90

    r4590 r5087  
    66
    77      SUBROUTINE thermcell_closure(ngrid,nlay,r_aspect,ptimestep,rho,  &
    8      &   zlev,lalim,alim_star,zmax,wmax,f)
     8     zlev,lalim,alim_star,zmax,wmax,f)
    99
    1010!-------------------------------------------------------------------------
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_down.F90

    r5082 r5087  
    219219
    220220   SUBROUTINE thermcell_down(ngrid,nlay,po,pt,pu,pv,pplay,pplev,  &
    221      &           lmax,fup,eup,dup,theta)
     221             lmax,fup,eup,dup,theta)
    222222
    223223!--------------------------------------------------------------
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_dq.F90

    r5082 r5087  
    33
    44      subroutine thermcell_dq(ngrid,nlay,impl,ptimestep,fm,entr,  &
    5      &           masse,q,dq,qa,lev_out)
     5             masse,q,dq,qa,lev_out)
    66      USE print_control_mod, ONLY: prt_level
    77
     
    4646
    4747         call thermcell_dq_o(ngrid,nlay,impl,ptimestep,fm,entr,  &
    48      &           masse,q,dq,qa,lev_out)
     48             masse,q,dq,qa,lev_out)
    4949
    5050else
     
    9999         do ig=1,ngrid
    100100            if ((fm(ig,k+1)+detr(ig,k))*ptimestep>  &
    101      &         1.e-5*masse(ig,k)) then
     101           1.e-5*masse(ig,k)) then
    102102         qa(ig,k)=(fm(ig,k)*qa(ig,k-1)+entr(ig,k)*q(ig,k))  &
    103      &         /(fm(ig,k+1)+detr(ig,k))
     103           /(fm(ig,k+1)+detr(ig,k))
    104104            else
    105105               qa(ig,k)=q(ig,k)
     
    125125      do k=1,nlay-1
    126126         q(:,k)=q(:,k)+(fqa(:,k)-fqa(:,k+1)-fm(:,k)*q(:,k)+fm(:,k+1)*q(:,k+1)) &
    127      &               *ptimestep/masse(:,k)
     127                 *ptimestep/masse(:,k)
    128128      enddo
    129129   else
     
    135135!    &               /(fm(:,k)+masse(:,k)/ptimestep)
    136136         q(:,k)=(q(:,k)+ptimestep/masse(:,k)*(fqa(:,k)-fqa(:,k+1)+fm(:,k+1)*q(:,k+1))) &
    137       &               /(1.+fm(:,k)*ptimestep/masse(:,k))
     137                 /(1.+fm(:,k)*ptimestep/masse(:,k))
    138138! FH fin de modif.
    139139      enddo
     
    158158
    159159      subroutine thermcell_dq_o(ngrid,nlay,impl,ptimestep,fm,entr,  &
    160      &           masse,q,dq,qa,lev_out)
     160             masse,q,dq,qa,lev_out)
    161161      USE print_control_mod, ONLY: prt_level
    162162      implicit none
     
    254254         do ig=1,ngrid
    255255            if ((fm(ig,k+1)+detr(ig,k))*ztimestep>  &
    256      &         1.e-5*masse(ig,k)) then
     256           1.e-5*masse(ig,k)) then
    257257         qa(ig,k)=(fm(ig,k)*qa(ig,k-1)+entr(ig,k)*q(ig,k))  &
    258      &         /(fm(ig,k+1)+detr(ig,k))
     258           /(fm(ig,k+1)+detr(ig,k))
    259259            else
    260260               qa(ig,k)=q(ig,k)
     
    307307         do ig=1,ngrid
    308308            q(ig,k)=q(ig,k)+(detr(ig,k)*qa(ig,k)-entr(ig,k)*q(ig,k)  &
    309      &               -wqd(ig,k)+wqd(ig,k+1))  &
    310      &               *ztimestep/masse(ig,k)
     309                 -wqd(ig,k)+wqd(ig,k+1))  &
     310                 *ztimestep/masse(ig,k)
    311311!            if (dq(ig,k).lt.0.) then
    312312!               print*,'dq<0!!!'
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_dry.F90

    r5082 r5087  
    66
    77       SUBROUTINE thermcell_dry(ngrid,nlay,zlev,pphi,ztv,alim_star,  &
    8      &                            lalim,lmin,zmax,wmax)
     8                              lalim,lmin,zmax,wmax)
    99
    1010!--------------------------------------------------------------------------
     
    8181
    8282               zw2(ig,l+1)=2.*RG*(ztv(ig,l)-ztv(ig,l+1))/ztv(ig,l+1)  &
    83      &                     *(zlev(ig,l+1)-zlev(ig,l))  &
    84      &                     *0.4*pphi(ig,l)/(pphi(ig,l+1)-pphi(ig,l))
     83                       *(zlev(ig,l+1)-zlev(ig,l))  &
     84                       *0.4*pphi(ig,l)/(pphi(ig,l+1)-pphi(ig,l))
    8585
    8686!------------------------------------------------------------------------
     
    9696
    9797               ztva(ig,l)=(f_star(ig,l)*ztva(ig,l-1)+alim_star(ig,l)  &
    98      &                    *ztv(ig,l))/f_star(ig,l+1)
     98                      *ztv(ig,l))/f_star(ig,l+1)
    9999               zw2(ig,l+1)=zw2(ig,l)*(f_star(ig,l)/f_star(ig,l+1))**2+  &
    100      &                     2.*RG*(ztva(ig,l)-ztv(ig,l))/ztv(ig,l)  &
    101      &                     *(zlev(ig,l+1)-zlev(ig,l))
     100                       2.*RG*(ztva(ig,l)-ztv(ig,l))/ztv(ig,l)  &
     101                       *(zlev(ig,l+1)-zlev(ig,l))
    102102            endif
    103103! determination de zmax continu par interpolation lineaire
     
    114114            if (zw2(ig,l+1)<0.) then
    115115               linter(ig)=(l*(zw2(ig,l+1)-zw2(ig,l))  &
    116      &           -zw2(ig,l))/(zw2(ig,l+1)-zw2(ig,l))
     116             -zw2(ig,l))/(zw2(ig,l+1)-zw2(ig,l))
    117117               zw2(ig,l+1)=0.
    118118               lmax(ig)=l
     
    121121            elseif (f_star(ig,l+1)<0.) then
    122122               linter(ig)=(l*(f_star(ig,l+1)-f_star(ig,l))  &
    123      &           -f_star(ig,l))/(f_star(ig,l+1)-f_star(ig,l))
     123             -f_star(ig,l))/(f_star(ig,l+1)-f_star(ig,l))
    124124               zw2(ig,l+1)=0.
    125125               lmax(ig)=l
     
    161161! calcul de zlevinter
    162162          zlevinter(ig)=zlev(ig,lmax(ig)) + &
    163      &    (linter(ig)-lmax(ig))*(zlev(ig,lmax(ig)+1)-zlev(ig,lmax(ig)))
     163      (linter(ig)-lmax(ig))*(zlev(ig,lmax(ig)+1)-zlev(ig,lmax(ig)))
    164164           zmax(ig)=max(zmax(ig),zlevinter(ig)-zlev(ig,lmin(ig)))
    165165      enddo
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_dtke.F90

    r5082 r5087  
    33
    44      subroutine thermcell_dtke(ngrid,nlay,nsrf,ptimestep,fm0,entr0,  &
    5      &           rg,pplev,tke)
     5             rg,pplev,tke)
    66      USE print_control_mod, ONLY: prt_level
    77      implicit none
     
    7474         do ig=1,ngrid
    7575            if ((fm(ig,k+1)+detr(ig,k))*ptimestep>  &
    76      &         1.e-5*masse(ig,k)) then
     76           1.e-5*masse(ig,k)) then
    7777         qa(ig,k)=(fm(ig,k)*qa(ig,k-1)+entr(ig,k)*q(ig,k))  &
    78      &         /(fm(ig,k+1)+detr(ig,k))
     78           /(fm(ig,k+1)+detr(ig,k))
    7979            else
    8080               qa(ig,k)=q(ig,k)
     
    109109         do ig=1,ngrid
    110110            q(ig,k)=q(ig,k)+(detr(ig,k)*qa(ig,k)-entr(ig,k)*q(ig,k)  &
    111      &               -wqd(ig,k)+wqd(ig,k+1))  &
    112      &               *ptimestep/masse(ig,k)
     111                 -wqd(ig,k)+wqd(ig,k+1))  &
     112                 *ptimestep/masse(ig,k)
    113113         enddo
    114114      enddo
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_dv2.F90

    r5082 r5087  
    33
    44      subroutine thermcell_dv2(ngrid,nlay,ptimestep,fm,entr,masse  &
    5      &    ,fraca,larga  &
    6      &    ,u,v,du,dv,ua,va,lev_out)
     5      ,fraca,larga  &
     6      ,u,v,du,dv,ua,va,lev_out)
    77      USE print_control_mod, ONLY: prt_level,lunout
    88      implicit none
     
    6868
    6969      IF(prt_level>9)WRITE(lunout,*)                                    &
    70      &      'WARNING on initialise gamma(1:ngrid,1)=0.'
     70        'WARNING on initialise gamma(1:ngrid,1)=0.'
    7171      gamma(1:ngrid,1)=0.
    7272      do k=2,nlay
     
    7575            if(ltherm(ig,k).and.larga(ig)>0.) then
    7676               gamma0(ig,k)=masse(ig,k)  &
    77      &         *sqrt( 0.5*(fraca(ig,k+1)+fraca(ig,k)) )  &
    78      &         *0.5/larga(ig)  &
    79      &         *1.
     77           *sqrt( 0.5*(fraca(ig,k+1)+fraca(ig,k)) )  &
     78           *0.5/larga(ig)  &
     79           *1.
    8080            else
    8181               gamma0(ig,k)=0.
     
    122122                  gamma(ig,k)=gamma0(ig,k)*sqrt(dua(ig,k)**2+dva(ig,k)**2)
    123123                  ua(ig,k)=(fm(ig,k)*ua(ig,k-1)  &
    124      &               +(zf2*entr(ig,k)+gamma(ig,k))*u(ig,k))  &
    125      &               /(fm(ig,k+1)+detr(ig,k)+entr(ig,k)*zf*zf2  &
    126      &                 +gamma(ig,k))
     124                 +(zf2*entr(ig,k)+gamma(ig,k))*u(ig,k))  &
     125                 /(fm(ig,k+1)+detr(ig,k)+entr(ig,k)*zf*zf2  &
     126                   +gamma(ig,k))
    127127                  va(ig,k)=(fm(ig,k)*va(ig,k-1)  &
    128      &               +(zf2*entr(ig,k)+gamma(ig,k))*v(ig,k))  &
    129      &               /(fm(ig,k+1)+detr(ig,k)+entr(ig,k)*zf*zf2  &
    130      &                 +gamma(ig,k))
     128                 +(zf2*entr(ig,k)+gamma(ig,k))*v(ig,k))  &
     129                 /(fm(ig,k+1)+detr(ig,k)+entr(ig,k)*zf*zf2  &
     130                   +gamma(ig,k))
    131131!                 print*,k,ua(ig,k),va(ig,k),u(ig,k),v(ig,k),dua(ig,k),dva(ig,k)
    132132                  dua(ig,k)=ua(ig,k)-u(ig,k)
     
    163163         do ig=1,ngrid
    164164            du(ig,k)=((detr(ig,k)+gamma(ig,k))*ua(ig,k)  &
    165      &               -(entr(ig,k)+gamma(ig,k))*ue(ig,k)  &
    166      &               -wud(ig,k)+wud(ig,k+1))  &
    167      &               /masse(ig,k)
     165                 -(entr(ig,k)+gamma(ig,k))*ue(ig,k)  &
     166                 -wud(ig,k)+wud(ig,k+1))  &
     167                 /masse(ig,k)
    168168            dv(ig,k)=((detr(ig,k)+gamma(ig,k))*va(ig,k)  &
    169      &               -(entr(ig,k)+gamma(ig,k))*ve(ig,k)  &
    170      &               -wvd(ig,k)+wvd(ig,k+1))  &
    171      &               /masse(ig,k)
     169                 -(entr(ig,k)+gamma(ig,k))*ve(ig,k)  &
     170                 -wvd(ig,k)+wvd(ig,k+1))  &
     171                 /masse(ig,k)
    172172         enddo
    173173      enddo
     
    181181         do ig=1,ngrid
    182182           print*,'th_dv2 ig k gamma entr detr ua ue va ve wud wvd masse',ig,k,gamma(ig,k), &
    183      &   entr(ig,k),detr(ig,k),ua(ig,k),ue(ig,k),va(ig,k),ve(ig,k),wud(ig,k),wvd(ig,k),wud(ig,k+1),wvd(ig,k+1), &
    184      &   masse(ig,k)
     183     entr(ig,k),detr(ig,k),ua(ig,k),ue(ig,k),va(ig,k),ve(ig,k),wud(ig,k),wvd(ig,k),wud(ig,k+1),wvd(ig,k+1), &
     184     masse(ig,k)
    185185         enddo
    186186      enddo
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_env.F90

    r5082 r5087  
    33
    44   SUBROUTINE thermcell_env(ngrid,nlay,po,pt,pu,pv,pplay,  &
    5      &           pplev,zo,zh,zl,ztv,zthl,zu,zv,zpspsk,pqsat,lcong,lintercong,lev_out)
     5             pplev,zo,zh,zl,ztv,zthl,zu,zv,zpspsk,pqsat,lcong,lintercong,lev_out)
    66
    77!--------------------------------------------------------------
     
    8989            lcong(ig)=ll+1
    9090            lintercong(ig)=(ll*(zh(ig,ll+1)-zh(ig,ll))  &
    91      &               -zh(ig,ll)+273.15)/(zh(ig,ll+1)-zh(ig,ll))
     91                 -zh(ig,ll)+273.15)/(zh(ig,ll+1)-zh(ig,ll))
    9292         endif
    9393      enddo
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_flux2.F90

    r5082 r5087  
    66
    77      SUBROUTINE thermcell_flux2(ngrid,nlay,ptimestep,masse, &
    8      &       lalim,lmax,alim_star,  &
    9      &       entr_star,detr_star,f,rhobarz,zlev,zw2,fm,entr,  &
    10      &       detr,zqla,lev_out,lunout1,igout)
     8         lalim,lmax,alim_star,  &
     9         entr_star,detr_star,f,rhobarz,zlev,zw2,fm,entr,  &
     10         detr,zqla,lev_out,lunout1,igout)
    1111!IM 060508    &       detr,zqla,zmax,lev_out,lunout,igout)
    1212
     
    7979         write(lunout1,*) ' l E*    A*     D*  '
    8080         write(lunout1,'(i4,3e15.5)') (l,entr_star(igout,l),alim_star(igout,l),detr_star(igout,l) &
    81      &    ,l=1,lmax(igout))
     81      ,l=1,lmax(igout))
    8282      endif
    8383
     
    133133         write(lunout1,*) ' l   E    D     W2'
    134134         write(lunout1,'(i4,3e15.5)') (l,entr(igout,l),detr(igout,l) &
    135      &    ,zw2(igout,l+1),l=1,lmax(igout))
     135      ,zw2(igout,l+1),l=1,lmax(igout))
    136136      endif
    137137
     
    210210
    211211      if (prt_level>=10) &
    212      &   write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, &
    213      &     entr(igout,l),detr(igout,l),fm(igout,l+1)
     212     write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, &
     213       entr(igout,l),detr(igout,l),fm(igout,l+1)
    214214
    215215!-------------------------------------------------------------------------
     
    220220         do ig=1,ngrid
    221221          if (l>=lalim(ig).and.l<=lmax(ig) &
    222      &    .and.(zw2(ig,l+1)>1.e-10).and.(zw2(ig,l)>1.e-10) ) then
     222      .and.(zw2(ig,l+1)>1.e-10).and.(zw2(ig,l)>1.e-10) ) then
    223223!  zzz est le flux en l+1 a frac constant
    224224             zzz=fm(ig,l)*rhobarz(ig,l+1)*zw2(ig,l+1)  &
    225      &                          /(rhobarz(ig,l)*zw2(ig,l))
     225                            /(rhobarz(ig,l)*zw2(ig,l))
    226226             if (fm(ig,l+1)>zzz) then
    227227                detr(ig,l)=detr(ig,l)+fm(ig,l+1)-zzz
     
    235235
    236236      if (prt_level>=10) &
    237      &   write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, &
    238      &     entr(igout,l),detr(igout,l),fm(igout,l+1)
     237     write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, &
     238       entr(igout,l),detr(igout,l),fm(igout,l+1)
    239239
    240240
     
    256256
    257257      if (prt_level>=10) &
    258      &   write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, &
    259      &     entr(igout,l),detr(igout,l),fm(igout,l+1)
     258     write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, &
     259       entr(igout,l),detr(igout,l),fm(igout,l+1)
    260260
    261261!fin 1.eq.0
     
    332332
    333333      if (prt_level>=10) &
    334      &   write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, &
    335      &     entr(igout,l),detr(igout,l),fm(igout,l+1)
     334     write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, &
     335       entr(igout,l),detr(igout,l),fm(igout,l+1)
    336336
    337337!-------------------------------------------------------------------------
     
    366366
    367367      if (prt_level>=10) &
    368      &   write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, &
    369      &     entr(igout,l),detr(igout,l),fm(igout,l+1)
     368     write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, &
     369       entr(igout,l),detr(igout,l),fm(igout,l+1)
    370370
    371371!-----------------------------------------------------------------------
     
    408408
    409409      if (prt_level>=10) &
    410      &   write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, &
    411      &     entr(igout,l),detr(igout,l),fm(igout,l+1)
     410     write(lunout1,'(i4,4e14.4)') l,masse(igout,l)/ptimestep, &
     411       entr(igout,l),detr(igout,l),fm(igout,l+1)
    412412
    413413! Fin de la grande boucle sur les niveaux verticaux
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_height.F90

    r5082 r5087  
    33
    44      SUBROUTINE thermcell_height(ngrid,nlay,lalim,lmin,linter,lcong,lintercong,lmix,  &
    5      &           zw2,zlev,lmax,zmax,zmax0,zmix,wmax,zcong)
     5             zw2,zlev,lmax,zmax,zmax0,zmix,wmax,zcong)
    66      IMPLICIT NONE
    77
     
    105105! calcul de zlevinter
    106106          zlevinter(ig)=(zlev(ig,lmax(ig)+1)-zlev(ig,lmax(ig)))*  &
    107      &    linter(ig)+zlev(ig,lmax(ig))-lmax(ig)*(zlev(ig,lmax(ig)+1)  &
    108      &    -zlev(ig,lmax(ig)))
     107      linter(ig)+zlev(ig,lmax(ig))-lmax(ig)*(zlev(ig,lmax(ig)+1)  &
     108      -zlev(ig,lmax(ig)))
    109109!pour le cas ou on prend tjs lmin=1
    110110!       zmax(ig)=max(zmax(ig),zlevinter(ig)-zlev(ig,lmin(ig)))
     
    117117! calcul de zlevintercong
    118118         zlevintercong(ig)=(zlev(ig,lcong(ig)+1)-zlev(ig,lcong(ig)))*  &
    119      &    lintercong(ig)+zlev(ig,lcong(ig))-lcong(ig)*(zlev(ig,lcong(ig)+1)  &
    120      &    -zlev(ig,lcong(ig)))
     119      lintercong(ig)+zlev(ig,lcong(ig))-lcong(ig)*(zlev(ig,lcong(ig)+1)  &
     120      -zlev(ig,lcong(ig)))
    121121         zcong(ig)=zlevintercong(ig)-zlev(ig,1)
    122122!         print*,"calcul zcong",lcong(ig),lintercong(ig),zlevintercong(ig),zcong(ig)
     
    131131! test
    132132              if (((zw2(ig,lmix(ig)-1)-zw2(ig,lmix(ig)))  &
    133      &        *((zlev(ig,lmix(ig)))-(zlev(ig,lmix(ig)+1)))  &
    134      &        -(zw2(ig,lmix(ig))-zw2(ig,lmix(ig)+1))  &
    135      &        *((zlev(ig,lmix(ig)-1))-(zlev(ig,lmix(ig)))))>1e-10)  &
    136      &        then
     133          *((zlev(ig,lmix(ig)))-(zlev(ig,lmix(ig)+1)))  &
     134          -(zw2(ig,lmix(ig))-zw2(ig,lmix(ig)+1))  &
     135          *((zlev(ig,lmix(ig)-1))-(zlev(ig,lmix(ig)))))>1e-10)  &
     136          then
    137137!             
    138138            zmix(ig)=((zw2(ig,lmix(ig)-1)-zw2(ig,lmix(ig)))  &
    139      &        *((zlev(ig,lmix(ig)))**2-(zlev(ig,lmix(ig)+1))**2)  &
    140      &        -(zw2(ig,lmix(ig))-zw2(ig,lmix(ig)+1))  &
    141      &        *((zlev(ig,lmix(ig)-1))**2-(zlev(ig,lmix(ig)))**2))  &
    142      &        /(2.*((zw2(ig,lmix(ig)-1)-zw2(ig,lmix(ig)))  &
    143      &        *((zlev(ig,lmix(ig)))-(zlev(ig,lmix(ig)+1)))  &
    144      &        -(zw2(ig,lmix(ig))-zw2(ig,lmix(ig)+1))  &
    145      &        *((zlev(ig,lmix(ig)-1))-(zlev(ig,lmix(ig))))))
     139          *((zlev(ig,lmix(ig)))**2-(zlev(ig,lmix(ig)+1))**2)  &
     140          -(zw2(ig,lmix(ig))-zw2(ig,lmix(ig)+1))  &
     141          *((zlev(ig,lmix(ig)-1))**2-(zlev(ig,lmix(ig)))**2))  &
     142          /(2.*((zw2(ig,lmix(ig)-1)-zw2(ig,lmix(ig)))  &
     143          *((zlev(ig,lmix(ig)))-(zlev(ig,lmix(ig)+1)))  &
     144          -(zw2(ig,lmix(ig))-zw2(ig,lmix(ig)+1))  &
     145          *((zlev(ig,lmix(ig)-1))-(zlev(ig,lmix(ig))))))
    146146              else
    147147              zmix(ig)=zlev(ig,lmix(ig))
     
    162162         do l=1,nlay
    163163            if (zmix(ig)>=zlev(ig,l).and.  &
    164      &          zmix(ig)<zlev(ig,l+1)) then
     164            zmix(ig)<zlev(ig,l+1)) then
    165165              lmix(ig)=l
    166166             endif
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_ini.F90

    r5081 r5087  
    4848
    4949SUBROUTINE thermcell_ini(iflag_thermals,prt_level_in,tau_thermals_in,lunout_in, &
    50    &    RG_in,RD_in,RCPD_in,RKAPPA_in,RLVTT_in,RETV_in)
     50      RG_in,RD_in,RCPD_in,RKAPPA_in,RLVTT_in,RETV_in)
    5151
    5252   USE ioipsl_getin_p_mod, ONLY : getin_p
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_main.F90

    r5082 r5087  
    88
    99      subroutine thermcell_main(itap,ngrid,nlay,ptimestep  &
    10      &                  ,pplay,pplev,pphi,debut  &
    11      &                  ,puwind,pvwind,ptemp,p_o,ptemp_env, po_env  &
    12      &                  ,pduadj,pdvadj,pdtadj,pdoadj  &
    13      &                  ,fm0,entr0,detr0,zqta,zqla,lmax  &
    14      &                  ,ratqscth,ratqsdiff,zqsatth  &
    15      &                  ,zmax0, f0,zw2,fraca,ztv &
    16      &                  ,zpspsk,ztla,zthl,ztva &
    17      &                  ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax,zcong &
     10                    ,pplay,pplev,pphi,debut  &
     11                    ,puwind,pvwind,ptemp,p_o,ptemp_env, po_env  &
     12                    ,pduadj,pdvadj,pdtadj,pdoadj  &
     13                    ,fm0,entr0,detr0,zqta,zqla,lmax  &
     14                    ,ratqscth,ratqsdiff,zqsatth  &
     15                    ,zmax0, f0,zw2,fraca,ztv &
     16                    ,zpspsk,ztla,zthl,ztva &
     17                    ,pcon,rhobarz,wth3,wmax_sec,lalim,fm,alim_star,zmax,zcong &
    1818#ifdef ISO         
    19      &      ,xtpo,xtpdoadj &
     19        ,xtpo,xtpdoadj &
    2020#endif         
    21      &   )
     21     )
    2222
    2323
     
    227227
    228228          CALL thermcell_env(ngrid,nlay,p_o,ptemp_env,puwind,pvwind,pplay,  &
    229          &           pplev,z_o,ztemp_env,zl,ztv,zthl,zu,zv,zpspsk,zqsat,lcong,lintercong,lev_out)
     229             pplev,z_o,ztemp_env,zl,ztv,zthl,zu,zv,zpspsk,zqsat,lcong,lintercong,lev_out)
    230230
    231231      else
     
    417417!         print*,'THERM NOUVELLE/NOUVELLE Arnaud'
    418418         CALL thermcell_plume_6A(itap,ngrid,nlay,ptimestep,ztv,zthl,p_o,zl,rhobarz,&
    419      &    zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
    420      &    lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
    421      &    ztla,zqla,zqta,zha,zw2,zw_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
    422      &    ,lev_out,lunout1,igout)
     419      zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
     420      lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
     421      ztla,zqla,zqta,zha,zw2,zw_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
     422      ,lev_out,lunout1,igout)
    423423
    424424      elseif (iflag_thermals_ed<=19) then
    425425!        print*,'THERM RIO et al 2010, version d Arnaud'
    426426         CALL thermcell_plume_5B(itap,ngrid,nlay,ptimestep,ztv,zthl,p_o,zl,rhobarz,&
    427      &    zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
    428      &    lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
    429      &    ztla,zqla,zqta,zha,zw2,zw_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
    430      &    ,lev_out,lunout1,igout)
     427      zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
     428      lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
     429      ztla,zqla,zqta,zha,zw2,zw_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
     430      ,lev_out,lunout1,igout)
    431431      else
    432432         CALL thermcell_plume(itap,ngrid,nlay,ptimestep,ztv,zthl,p_o,zl,rhobarz,&
    433      &    zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
    434      &    lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
    435      &    ztla,zqla,zqta,zha,zw2,zw_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
    436      &    ,lev_out,lunout1,igout)
     433      zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
     434      lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
     435      ztla,zqla,zqta,zha,zw2,zw_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
     436      ,lev_out,lunout1,igout)
    437437      endif
    438438
     
    449449         write(lunout1,*) ' ig l alim_star entr_star detr_star f_star '
    450450         write(lunout1,'(i6,i4,4e15.5)') (igout,l,alim_star(igout,l),entr_star(igout,l),detr_star(igout,l) &
    451      &    ,f_star(igout,l+1),l=1,nint(linter(igout))+5)
     451      ,f_star(igout,l+1),l=1,nint(linter(igout))+5)
    452452      endif
    453453
     
    457457!
    458458      CALL thermcell_height(ngrid,nlay,lalim,lmin,linter,lcong,lintercong,lmix,zw2,  &
    459      &           zlev,lmax,zmax,zmax0,zmix,wmax,zcong)
     459             zlev,lmax,zmax,zmax0,zmix,wmax,zcong)
    460460! Attention, w2 est transforme en sa racine carree dans cette routine
    461461! Le probleme vient du fait que linter et lmix sont souvent egaux a 1.
     
    481481!
    482482      CALL thermcell_dry(ngrid,nlay,zlev,pphi,ztv,alim_star,  &
    483                         lalim,lmin,zmax_sec,wmax_sec)
     483                        lalim,lmin,zmax_sec,wmax_sec)
    484484
    485485 
     
    494494         write(lunout1,*) ' ig l alim_star entr_star detr_star f_star '
    495495         write(lunout1,'(i6,i4,e15.5)') (igout,l,alim_star(igout,l) &
    496      &    ,l=1,lalim(igout)+4)
     496      ,l=1,lalim(igout)+4)
    497497      endif
    498498
     
    509509
    510510     CALL thermcell_closure(ngrid,nlay,r_aspect_thermals,ptimestep,rho,  &
    511     zlev,lalim,alim_star_clos,zmax_sec,wmax_sec,f)
     511    zlev,lalim,alim_star_clos,zmax_sec,wmax_sec,f)
    512512
    513513!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     
    517517
    518518     CALL thermcell_closure(ngrid,nlay,r_aspect_thermals,ptimestep,rho,  &
    519     zlev,lalim,alim_star,zmax,wmax,f)
     519    zlev,lalim,alim_star,zmax,wmax,f)
    520520
    521521
     
    543543
    544544      CALL thermcell_flux2(ngrid,nlay,ptimestep,masse, &
    545      &       lalim,lmax,alim_star,  &
    546      &       entr_star,detr_star,f,rhobarz,zlev,zw2,fm,entr,  &
    547      &       detr,zqla,lev_out,lunout1,igout)
     545         lalim,lmax,alim_star,  &
     546         entr_star,detr_star,f,rhobarz,zlev,zw2,fm,entr,  &
     547         detr,zqla,lev_out,lunout1,igout)
    548548
    549549!IM 060508    &       detr,zqla,zmax,lev_out,lunout,igout)
     
    609609        enddo
    610610        call thermcell_dq(ngrid,nlay,dqimpl,ptimestep,fm0,entr0,masse,  &
    611         &                    zthl,zdthladj,zta,lev_out)
     611                      zthl,zdthladj,zta,lev_out)
    612612
    613613        do ll=1,nlay
     
    617617        enddo
    618618        call thermcell_dq(ngrid,nlay,dqimpl,ptimestep,fm0,entr0,masse,  &
    619         &                   z_o,pdoadj,z_oa,lev_out)
     619                     z_o,pdoadj,z_oa,lev_out)
    620620
    621621#ifdef ISO
     
    629629          enddo
    630630          call thermcell_dq(ngrid,nlay,dqimpl,ptimestep,fm0,entr0,masse,  &
    631      &                   xtpo_tmp,xtpdoadj_tmp,xtzo_tmp,lev_out)
     631                     xtpo_tmp,xtpdoadj_tmp,xtzo_tmp,lev_out)
    632632          do ll=1,nlay
    633633            DO ig=1,ngrid
     
    644644          if (iso_eau.gt.0) then
    645645              call iso_verif_egalite(xtpo(iso_eau,ig,ll), &
    646      &          p_o(ig,ll),'thermcell_main 594')
     646            p_o(ig,ll),'thermcell_main 594')
    647647              call iso_verif_egalite(xtpdoadj(iso_eau,ig,ll), &
    648      &          pdoadj(ig,ll),'thermcell_main 596')
     648            pdoadj(ig,ll),'thermcell_main 596')
    649649          endif
    650650          if (iso_HDO.gt.0) then
    651651              call iso_verif_aberrant_encadre(xtpo(iso_hdo,ig,ll) &
    652      &           /p_o(ig,ll),'thermcell_main 610')
     652             /p_o(ig,ll),'thermcell_main 610')
    653653          endif
    654654        enddo
     
    671671         call thermcell_dv2(ngrid,nlay,ptimestep,fm0,entr0,masse  &
    672672!    &    ,fraca*dvdq,zmax &
    673      &    ,fraca,zmax &
    674      &    ,zu,zv,pduadj,pdvadj,zua,zva,lev_out)
     673      ,fraca,zmax &
     674      ,zu,zv,pduadj,pdvadj,zua,zva,lev_out)
    675675
    676676      else
     
    678678! calcul purement conservatif pour le transport de V
    679679         call thermcell_dq(ngrid,nlay,dqimpl,ptimestep,fm0,entr0,masse  &
    680      &    ,zu,pduadj,zua,lev_out)
     680      ,zu,pduadj,zua,lev_out)
    681681         call thermcell_dq(ngrid,nlay,dqimpl,ptimestep,fm0,entr0,masse  &
    682      &    ,zv,pdvadj,zva,lev_out)
     682      ,zv,pdvadj,zva,lev_out)
    683683
    684684      endif
     
    716716         do ig=1,ngrid
    717717         if ((pcon(ig)<=pplay(ig,k))  &
    718      &      .and.(pcon(ig)>pplay(ig,k+1))) then
     718        .and.(pcon(ig)>pplay(ig,k+1))) then
    719719            zcon2(ig)=zlay(ig,k)-(pcon(ig)-pplay(ig,k))/(RG*rho(ig,k))/100.
    720720         endif
     
    757757      if (prt_level>=1) print*,'14d OK convect8'
    758758      if (prt_level>=10)write(lunout,*)                                &
    759        'WARNING thermcell_main wth2=0. si zw2 > 1.e-10'
     759       'WARNING thermcell_main wth2=0. si zw2 > 1.e-10'
    760760      do l=1,nlay
    761761         do ig=1,ngrid
     
    770770            endif
    771771            wth3(ig,l)=zf2*(1-2.*fraca(ig,l))/(1-fraca(ig,l))  &
    772      &                *zw2(ig,l)*zw2(ig,l)*zw2(ig,l)
     772                  *zw2(ig,l)*zw2(ig,l)*zw2(ig,l)
    773773            q2(ig,l)=zf2*(zqta(ig,l)*1000.-p_o(ig,l)*1000.)**2
    774774!test: on calcul q2/p_o=ratqsc
     
    829829!=============================================================================
    830830      subroutine test_ltherm(ngrid,nlay,pplay,long,ztv,p_o,ztva, &  ! in
    831               zqla,f_star,zw2,comment)                          ! in
     831              zqla,f_star,zw2,comment)                          ! in
    832832!=============================================================================
    833833      USE lmdz_thermcell_ini, ONLY: prt_level
     
    873873
    874874      subroutine thermcell_tke_transport( &
    875      &     ngrid,nlay,ptimestep,fm0,entr0,rg,pplev,  &   ! in
    876      &     therm_tke_max)                                ! out
     875       ngrid,nlay,ptimestep,fm0,entr0,rg,pplev,  &   ! in
     876       therm_tke_max)                                ! out
    877877      USE lmdz_thermcell_ini, ONLY: prt_level
    878878      implicit none
     
    942942         do ig=1,ngrid
    943943            if ((fm(ig,k+1)+detr(ig,k))*ptimestep>  &
    944      &         1.e-5*masse(ig,k)) then
     944           1.e-5*masse(ig,k)) then
    945945         qa(ig,k)=(fm(ig,k)*qa(ig,k-1)+entr(ig,k)*q(ig,k))  &
    946      &         /(fm(ig,k+1)+detr(ig,k))
     946           /(fm(ig,k+1)+detr(ig,k))
    947947            else
    948948               qa(ig,k)=q(ig,k)
     
    976976         do ig=1,ngrid
    977977            q(ig,k)=q(ig,k)+(detr(ig,k)*qa(ig,k)-entr(ig,k)*q(ig,k)  &
    978      &               -wqd(ig,k)+wqd(ig,k+1))  &
    979      &               *ptimestep/masse(ig,k)
     978                 -wqd(ig,k)+wqd(ig,k+1))  &
     979                 *ptimestep/masse(ig,k)
    980980         enddo
    981981      enddo
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_plume.F90

    r5082 r5087  
    66
    77      SUBROUTINE thermcell_plume(itap,ngrid,nlay,ptimestep,ztv,zthl,po,zl,rhobarz,  &
    8      &           zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
    9      &           lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
    10      &           ztla,zqla,zqta,zha,zw2,w_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
    11              ,lev_out,lunout1,igout)
     8             zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
     9             lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
     10             ztla,zqla,zqta,zha,zw2,w_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
     11             ,lev_out,lunout1,igout)
    1212!     &           ,lev_out,lunout1,igout,zbuoy,zbuoyjam)
    1313!--------------------------------------------------------------------------
     
    227227        ztva_est(ig,l) = ztva_est(ig,l)/zpspsk(ig,l)
    228228        ztva_est(ig,l) = ztva_est(ig,l)*(1.+RETV*(zqta(ig,l-1)  &
    229      &      -zqla_est(ig,l))-zqla_est(ig,l))
     229        -zqla_est(ig,l))-zqla_est(ig,l))
    230230 
    231231
     
    265265        coefzlmel=Min(1.,(zlmelup-zltdwn)/zdz)
    266266        zbuoyjam(ig,l)=1.*RG*(coefzlmel*(ztva_est(ig,l)- &
    267     ztv(ig,lt))/ztv(ig,lt)+(1.-coefzlmel)*(ztva_est(ig,l)- &
    268     ztv(ig,lt-1))/ztv(ig,lt-1))+0.*zbuoy(ig,l)
     267    ztv(ig,lt))/ztv(ig,lt)+(1.-coefzlmel)*(ztva_est(ig,l)- &
     268    ztv(ig,lt-1))/ztv(ig,lt-1))+0.*zbuoy(ig,l)
    269269
    270270!------------------------------------------------
     
    303303
    304304          detr_star(ig,l)=f_star(ig,l)*zdz             &
    305        *( mix0 * 0.1 / (zalpha+0.001)               &
    306        + MAX(detr_min, -afact*zbetalpha*zbuoyjam(ig,l)/zw2m   &
    307        + detr_q_coef*(zdqt(ig,l)/zw2m)**detr_q_power))
     305       *( mix0 * 0.1 / (zalpha+0.001)               &
     306       + MAX(detr_min, -afact*zbetalpha*zbuoyjam(ig,l)/zw2m   &
     307       + detr_q_coef*(zdqt(ig,l)/zw2m)**detr_q_power))
    308308
    309309          if ( iflag_thermals_ed == 20 ) then
    310310             entr_star(ig,l)=f_star(ig,l)*zdz* (         &
    311             mix0 * 0.1 / (zalpha+0.001)               &
    312           + zbetalpha*MAX(entr_min,                   &
    313           afact*zbuoyjam(ig,l)/zw2m - fact_epsilon))
     311            mix0 * 0.1 / (zalpha+0.001)               &
     312          + zbetalpha*MAX(entr_min,                   &
     313          afact*zbuoyjam(ig,l)/zw2m - fact_epsilon))
    314314          else
    315315             entr_star(ig,l)=f_star(ig,l)*zdz* (         &
    316             mix0 * 0.1 / (zalpha+0.001)               &
    317           + zbetalpha*MAX(entr_min,                   &
    318           afact*zbuoy(ig,l)/zw2m - fact_epsilon))
     316            mix0 * 0.1 / (zalpha+0.001)               &
     317          + zbetalpha*MAX(entr_min,                   &
     318          afact*zbuoy(ig,l)/zw2m - fact_epsilon))
    319319          endif
    320320         
     
    326326        endif
    327327        f_star(ig,l+1)=f_star(ig,l)+alim_star(ig,l)+entr_star(ig,l)  &
    328      &              -detr_star(ig,l)
     328                -detr_star(ig,l)
    329329
    330330      endif
     
    341341           Zsat=.false.
    342342           ztla(ig,l)=(f_star(ig,l)*ztla(ig,l-1)+  &
    343      &            (alim_star(ig,l)+entr_star(ig,l))*zthl(ig,l))  &
    344      &            /(f_star(ig,l+1)+detr_star(ig,l))
     343              (alim_star(ig,l)+entr_star(ig,l))*zthl(ig,l))  &
     344              /(f_star(ig,l+1)+detr_star(ig,l))
    345345           zqta(ig,l)=(f_star(ig,l)*zqta(ig,l-1)+  &
    346      &            (alim_star(ig,l)+entr_star(ig,l))*po(ig,l))  &
    347      &            /(f_star(ig,l+1)+detr_star(ig,l))
     346              (alim_star(ig,l)+entr_star(ig,l))*po(ig,l))  &
     347              /(f_star(ig,l+1)+detr_star(ig,l))
    348348
    349349        endif
     
    362362           zha(ig,l) = ztva(ig,l)
    363363           ztva(ig,l) = ztva(ig,l)*(1.+RETV*(zqta(ig,l)  &
    364      &              -zqla(ig,l))-zqla(ig,l))
     364                -zqla(ig,l))-zqla(ig,l))
    365365           zbuoy(ig,l)=RG*(ztva(ig,l)-ztv(ig,l))/ztv(ig,l)
    366366           zdz=zlev(ig,l+1)-zlev(ig,l)
     
    393393        if (zw2(ig,l+1)<0.) then
    394394           linter(ig)=(l*(zw2(ig,l+1)-zw2(ig,l))  &
    395      &               -zw2(ig,l))/(zw2(ig,l+1)-zw2(ig,l))
     395                 -zw2(ig,l))/(zw2(ig,l+1)-zw2(ig,l))
    396396           zw2(ig,l+1)=0.
    397397!+CR:04/05/12:correction calcul linter pour calcul de zmax continu
    398398        elseif (f_star(ig,l+1)<0.) then
    399399           linter(ig)=(l*(f_star(ig,l+1)-f_star(ig,l))  &
    400      &               -f_star(ig,l))/(f_star(ig,l+1)-f_star(ig,l))
     400                 -f_star(ig,l))/(f_star(ig,l+1)-f_star(ig,l))
    401401           zw2(ig,l+1)=0.
    402402!fin CR:04/05/12
  • LMDZ6/branches/Amaury_dev/libf/phylmd/lmdz_thermcell_plume_6A.F90

    r5082 r5087  
    66
    77      SUBROUTINE thermcell_plume_6A(itap,ngrid,nlay,ptimestep,ztv,zthl,po,zl,rhobarz,  &
    8      &           zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
    9      &           lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
    10      &           ztla,zqla,zqta,zha,zw2,w_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
    11              ,lev_out,lunout1,igout)
     8             zlev,pplev,pphi,zpspsk,alim_star,alim_star_tot,  &
     9             lalim,f0,detr_star,entr_star,f_star,csc,ztva,  &
     10             ztla,zqla,zqta,zha,zw2,w_est,ztva_est,zqsatth,lmix,lmix_bis,linter &
     11             ,lev_out,lunout1,igout)
    1212!     &           ,lev_out,lunout1,igout,zbuoy,zbuoyjam)
    1313!--------------------------------------------------------------------------
     
    225225        ztva_est(ig,l) = ztva_est(ig,l)/zpspsk(ig,l)
    226226        ztva_est(ig,l) = ztva_est(ig,l)*(1.+RETV*(zqta(ig,l-1)  &
    227      &      -zqla_est(ig,l))-zqla_est(ig,l))
     227        -zqla_est(ig,l))-zqla_est(ig,l))
    228228 
    229229
     
    278278            atv1=(ztv(ig,lt-1)-ztv(ig,lt-2))/(zlev(ig,lt-1)-zlev(ig,lt-2))
    279279            btv1=(ztv(ig,lt-2)*zlev(ig,lt-1)-ztv(ig,lt-1)*zlev(ig,lt-2)) &
    280             /(zlev(ig,lt-1)-zlev(ig,lt-2))
     280            /(zlev(ig,lt-1)-zlev(ig,lt-2))
    281281            atv2=(ztv(ig,lt+2)-ztv(ig,lt+1))/(zlev(ig,lt+2)-zlev(ig,lt+1))
    282282            btv2=(ztv(ig,lt+1)*zlev(ig,lt+2)-ztv(ig,lt+2)*zlev(ig,lt+1)) &
    283             /(zlev(ig,lt+2)-zlev(ig,lt+1))
     283            /(zlev(ig,lt+2)-zlev(ig,lt+1))
    284284
    285285             ztv1=atv1*zlt+btv1
     
    299299                   ztv_est(ig,l)=atv2*zlmel+btv2
    300300                   zbuoyjam(ig,l)=fact_shell*RG*(ztva_est(ig,l)-ztv_est(ig,l))/ztv_est(ig,l) &
    301                       +(1.-fact_shell)*zbuoy(ig,l)
     301                      +(1.-fact_shell)*zbuoy(ig,l)
    302302                elseif (zlmelup>=zinv) then
    303303                 ztv_est2=atv2*0.5*(zlmelup+zinv)+btv2
     
    306306
    307307                   zbuoyjam(ig,l)=fact_shell*RG*(((zlmelup-zinv)/zdz)*(ztva_est(ig,l)- &
    308               ztv_est2)/ztv_est2+((zinv-zlmeldwn)/zdz)*(ztva_est(ig,l)- &
    309               ztv_est1)/ztv_est1)+(1.-fact_shell)*zbuoy(ig,l)
     308              ztv_est2)/ztv_est2+((zinv-zlmeldwn)/zdz)*(ztva_est(ig,l)- &
     309              ztv_est1)/ztv_est1)+(1.-fact_shell)*zbuoy(ig,l)
    310310
    311311                else
    312312                   ztv_est(ig,l)=atv1*zlmel+btv1
    313313                   zbuoyjam(ig,l)=fact_shell*RG*(ztva_est(ig,l)-ztv_est(ig,l))/ztv_est(ig,l) &
    314                              +(1.-fact_shell)*zbuoy(ig,l)
     314                             +(1.-fact_shell)*zbuoy(ig,l)
    315315                endif
    316316
     
    319319                if (zlmeldwn>zltdwn) then
    320320                   zbuoyjam(ig,l)=fact_shell*RG*((ztva_est(ig,l)- &
    321                   ztv(ig,lt))/ztv(ig,lt))+(1.-fact_shell)*zbuoy(ig,l)
     321                  ztv(ig,lt))/ztv(ig,lt))+(1.-fact_shell)*zbuoy(ig,l)
    322322                else
    323323                   zbuoyjam(ig,l)=fact_shell*RG*(((zlmelup-zltdwn)/zdz)*(ztva_est(ig,l)- &
    324                   ztv(ig,lt))/ztv(ig,lt)+((zltdwn-zlmeldwn)/zdz)*(ztva_est(ig,l)- &
    325                   ztv(ig,lt-1))/ztv(ig,lt-1))+(1.-fact_shell)*zbuoy(ig,l)
     324                  ztv(ig,lt))/ztv(ig,lt)+((zltdwn-zlmeldwn)/zdz)*(ztva_est(ig,l)- &
     325                  ztv(ig,lt-1))/ztv(ig,lt-1))+(1.-fact_shell)*zbuoy(ig,l)
    326326
    327327                endif
     
    350350           coefzlmel=Min(1.,(zlmelup-zltdwn)/zdz)
    351351           zbuoyjam(ig,l)=1.*RG*(coefzlmel*(ztva_est(ig,l)- &
    352             ztv(ig,lt))/ztv(ig,lt)+(1.-coefzlmel)*(ztva_est(ig,l)- &
    353             ztv(ig,lt-1))/ztv(ig,lt-1))+0.*zbuoy(ig,l)
     352            ztv(ig,lt))/ztv(ig,lt)+(1.-coefzlmel)*(ztva_est(ig,l)- &
     353            ztv(ig,lt-1))/ztv(ig,lt-1))+0.*zbuoy(ig,l)
    354354        endif !   if (iflag_thermals_ed.lt.8) then
    355355
     
    488488
    489489          detr_star(ig,l)=f_star(ig,l)*zdz             &
    490        *( mix0 * 0.1 / (zalpha+0.001)               &
    491        + MAX(detr_min, -afact*zbetalpha*zbuoyjam(ig,l)/zw2m   &
    492        + detr_q_coef*(zdqt(ig,l)/zw2m)**detr_q_power))
     490       *( mix0 * 0.1 / (zalpha+0.001)               &
     491       + MAX(detr_min, -afact*zbetalpha*zbuoyjam(ig,l)/zw2m   &
     492       + detr_q_coef*(zdqt(ig,l)/zw2m)**detr_q_power))
    493493
    494494!          detr_star(ig,l)=(zdz/zdzbis)*detr_star(ig,l)+ &
     
    498498
    499499          entr_star(ig,l)=f_star(ig,l)*zdz* (         &
    500          mix0 * 0.1 / (zalpha+0.001)               &
    501        + zbetalpha*MAX(entr_min,                   &
    502        afact*zbuoyjam(ig,l)/zw2m - fact_epsilon))
     500         mix0 * 0.1 / (zalpha+0.001)               &
     501       + zbetalpha*MAX(entr_min,                   &
     502       afact*zbuoyjam(ig,l)/zw2m - fact_epsilon))
    503503
    504504
     
    531531! Calcul du flux montant normalise
    532532      f_star(ig,l+1)=f_star(ig,l)+alim_star(ig,l)+entr_star(ig,l)  &
    533      &              -detr_star(ig,l)
     533                -detr_star(ig,l)
    534534
    535535      endif
     
    546546           Zsat=.false.
    547547           ztla(ig,l)=(f_star(ig,l)*ztla(ig,l-1)+  &
    548      &            (alim_star(ig,l)+entr_star(ig,l))*zthl(ig,l))  &
    549      &            /(f_star(ig,l+1)+detr_star(ig,l))
     548              (alim_star(ig,l)+entr_star(ig,l))*zthl(ig,l))  &
     549              /(f_star(ig,l+1)+detr_star(ig,l))
    550550           zqta(ig,l)=(f_star(ig,l)*zqta(ig,l-1)+  &
    551      &            (alim_star(ig,l)+entr_star(ig,l))*po(ig,l))  &
    552      &            /(f_star(ig,l+1)+detr_star(ig,l))
     551              (alim_star(ig,l)+entr_star(ig,l))*po(ig,l))  &
     552              /(f_star(ig,l+1)+detr_star(ig,l))
    553553
    554554        endif
     
    567567           zha(ig,l) = ztva(ig,l)
    568568           ztva(ig,l) = ztva(ig,l)*(1.+RETV*(zqta(ig,l)  &
    569      &              -zqla(ig,l))-zqla(ig,l))
     569                -zqla(ig,l))-zqla(ig,l))
    570570           zbuoy(ig,l)=RG*(ztva(ig,l)-ztv(ig,l))/ztv(ig,l)
    571571           zdz=zlev(ig,l+1)-zlev(ig,l)
     
    639639        if (zw2(ig,l+1)<0.) then
    640640           linter(ig)=(l*(zw2(ig,l+1)-zw2(ig,l))  &
    641      &               -zw2(ig,l))/(zw2(ig,l+1)-zw2(ig,l))
     641                 -zw2(ig,l))/(zw2(ig,l+1)-zw2(ig,l))
    642642           zw2(ig,l+1)=0.
    643643!+CR:04/05/12:correction calcul linter pour calcul de zmax continu
    644644        elseif (f_star(ig,l+1)<0.) then
    645645           linter(ig)=(l*(f_star(ig,l+1)-f_star(ig,l))  &
    646      &               -f_star(ig,l))/(f_star(ig,l+1)-f_star(ig,l))
     646                 -f_star(ig,l))/(f_star(ig,l+1)-f_star(ig,l))
    647647           zw2(ig,l+1)=0.
    648648!fin CR:04/05/12
     
    860860            if (ztv(ig,l)> ztv(ig,l+1) .and. ztv(ig,1)>=ztv(ig,l) ) then
    861861               alim_star(ig,l)=MAX((ztv(ig,l)-ztv(ig,l+1)),0.)  &
    862      &                       *sqrt(zlev(ig,l+1))
     862                         *sqrt(zlev(ig,l+1))
    863863               lalim(ig)=l+1
    864864               alim_star_tot(ig)=alim_star_tot(ig)+alim_star(ig,l)
     
    939939        ztva_est(ig,l) = ztva_est(ig,l)/zpspsk(ig,l)
    940940        ztva_est(ig,l) = ztva_est(ig,l)*(1.+RETV*(zqta(ig,l-1)  &
    941      &      -zqla_est(ig,l))-zqla_est(ig,l))
     941        -zqla_est(ig,l))-zqla_est(ig,l))
    942942
    943943!------------------------------------------------
     
    977977         
    978978          entr_star(ig,l)=f_star(ig,l)*zdz*  zbetalpha*MAX(0.,  &
    979        afact*zbuoybis/zw2m - fact_epsilon )
     979       afact*zbuoybis/zw2m - fact_epsilon )
    980980
    981981
    982982          detr_star(ig,l)=f_star(ig,l)*zdz                        &
    983        *MAX(1.e-3, -afact*zbetalpha*zbuoy(ig,l)/zw2m          &
    984        + 0.012*(zdqt(ig,l)/zw2m)**0.5 )
     983       *MAX(1.e-3, -afact*zbetalpha*zbuoy(ig,l)/zw2m          &
     984       + 0.012*(zdqt(ig,l)/zw2m)**0.5 )
    985985         
    986986! En dessous de lalim, on prend le max de alim_star et entr_star pour
     
    993993! Calcul du flux montant normalise
    994994      f_star(ig,l+1)=f_star(ig,l)+alim_star(ig,l)+entr_star(ig,l)  &
    995      &              -detr_star(ig,l)
     995                -detr_star(ig,l)
    996996
    997997      endif
     
    10071007           Zsat=.false.
    10081008           ztla(ig,l)=(f_star(ig,l)*ztla(ig,l-1)+  &
    1009      &            (alim_star(ig,l)+entr_star(ig,l))*zthl(ig,l))  &
    1010      &            /(f_star(ig,l+1)+detr_star(ig,l))
     1009              (alim_star(ig,l)+entr_star(ig,l))*zthl(ig,l))  &
     1010              /(f_star(ig,l+1)+detr_star(ig,l))
    10111011           zqta(ig,l)=(f_star(ig,l)*zqta(ig,l-1)+  &
    1012      &            (alim_star(ig,l)+entr_star(ig,l))*po(ig,l))  &
    1013      &            /(f_star(ig,l+1)+detr_star(ig,l))
     1012              (alim_star(ig,l)+entr_star(ig,l))*po(ig,l))  &
     1013              /(f_star(ig,l+1)+detr_star(ig,l))
    10141014
    10151015        endif
     
    10291029           zha(ig,l) = ztva(ig,l)
    10301030           ztva(ig,l) = ztva(ig,l)*(1.+RETV*(zqta(ig,l)  &
    1031      &              -zqla(ig,l))-zqla(ig,l))
     1031                -zqla(ig,l))-zqla(ig,l))
    10321032           zbuoy(ig,l)=RG*(ztva(ig,l)-ztv(ig,l))/ztv(ig,l)
    10331033           zdz=zlev(ig,l+1)-zlev(ig,l)
     
    10581058        if (zw2(ig,l+1)<0.) then
    10591059           linter(ig)=(l*(zw2(ig,l+1)-zw2(ig,l))  &
    1060      &               -zw2(ig,l))/(zw2(ig,l+1)-zw2(ig,l))
     1060                 -zw2(ig,l))/(zw2(ig,l+1)-zw2(ig,l))
    10611061           zw2(ig,l+1)=0.
    10621062        elseif (f_star(ig,l+1)<0.) then
    10631063           linter(ig)=(l*(f_star(ig,l+1)-f_star(ig,l))  &
    1064      &               -f_star(ig,l))/(f_star(ig,l+1)-f_star(ig,l))
     1064                 -f_star(ig,l))/(f_star(ig,l+1)-f_star(ig,l))
    10651065!           print*,"linter plume", linter(ig)
    10661066           zw2(ig,l+1)=0.
  • LMDZ6/branches/Amaury_dev/libf/phylmd/methox.F90

    r4593 r5087  
    6060
    6161USE YOEMETH   , ONLY : RALPHA1 ,RALPHA2  ,RQLIM   ,&
    62  & RPBOTOX,  RPBOTPH ,RPTOPOX  ,RPTOPPH ,&
    63  & RALPHA3,  RLOGPPH 
     62   RPBOTOX,  RPBOTPH ,RPTOPOX  ,RPTOPPH ,&
     63   RALPHA3,  RLOGPPH
    6464
    6565IMPLICIT NONE
  • LMDZ6/branches/Amaury_dev/libf/phylmd/ocean_forced_mod.F90

    r5082 r5087  
    126126      IF (iso_eau > 0) THEN         
    127127        CALL iso_verif_egalite_choix(xtspechum(iso_eau,i), &
    128      &                  spechum(i),'ocean_forced_mod 111', &
    129      &                  errmax,errmaxrel)     
     128                    spechum(i),'ocean_forced_mod 111', &
     129                    errmax,errmaxrel)
    130130        CALL iso_verif_egalite_choix(snow(i), &
    131      &                  xtsnow(iso_eau,i),'ocean_forced_mod 117', &
    132      &                  errmax,errmaxrel)
     131                    xtsnow(iso_eau,i),'ocean_forced_mod 117', &
     132                    errmax,errmaxrel)
    133133      ENDIF !IF (iso_eau > 0) THEN
    134134    ENDDO !DO i=1,knon
     
    153153      CALL limit_read_sst(knon,knindex,tsurf_lim &
    154154#ifdef ISO
    155      &     ,Roce,rlat &
     155       ,Roce,rlat &
    156156#endif     
    157      &     )
     157       )
    158158    endif ! knon
    159159!sb--
     
    215215#ifdef ISO     
    216216    CALL calcul_iso_surf_oce_vectall(klon, knon,t_coup, &
    217      &    ps,tsurf_new,spechum,u1_lay, v1_lay, xtspechum, &
    218      &    evap, Roce,xtevap,h1 &
     217      ps,tsurf_new,spechum,u1_lay, v1_lay, xtspechum, &
     218      evap, Roce,xtevap,h1 &
    219219#ifdef ISOTRAC
    220      &    ,knindex &
    221 #endif
    222      &    )
     220      ,knindex &
     221#endif
     222      )
    223223#endif         
    224224
     
    229229      DO i = 1, knon               
    230230        CALL iso_verif_egalite_choix(snow(i), &
    231      &          xtsnow(iso_eau,i),'ocean_forced_mod 180', &
    232      &          errmax,errmaxrel)
     231            xtsnow(iso_eau,i),'ocean_forced_mod 180', &
     232            errmax,errmaxrel)
    233233      ENDDO ! DO j=1,knon
    234234    ENDIF !IF (iso_eau > 0) THEN
     
    378378! update tsoil and calculate soilcap and soilflux
    379379       CALL soil(dtime, is_sic, knon, snow, tsurf_tmp, qsol, &
    380         & longitude(knindex(1:knon)), latitude(knindex(1:knon)), tsoil,soilcap, soilflux)
     380   longitude(knindex(1:knon)), latitude(knindex(1:knon)), tsoil,soilcap, soilflux)
    381381       cal(1:knon) = RCPD / soilcap(1:knon)
    382382       radsol(1:knon) = radsol(1:knon)  + soilflux(1:knon)
     
    430430        IF (snow(i) > ridicule) THEN
    431431          CALL iso_verif_egalite_choix(xtsnow(iso_eau,i),snow(i), &
    432    &              'interfsurf 964',errmax,errmaxrel)
     432                'interfsurf 964',errmax,errmaxrel)
    433433        ENDIF !IF ((snow(i) > ridicule)) THEN
    434434      ENDIF !IF (iso_eau > 0) THEN     
     
    454454         snow, qsol, tsurf_new, evap &
    455455#ifdef ISO   
    456      &  ,fq_fonte_diag,fqfonte_diag,snow_evap_diag,fqcalving_diag   &
    457      &  ,max_eau_sol_diag,runoff_diag,run_off_lic_diag,coeff_rel_diag   &
    458 #endif
    459      &   )
     456    ,fq_fonte_diag,fqfonte_diag,snow_evap_diag,fqcalving_diag   &
     457    ,max_eau_sol_diag,runoff_diag,run_off_lic_diag,coeff_rel_diag   &
     458#endif
     459     )
    460460
    461461
     
    467467!#endif
    468468    CALL calcul_iso_surf_sic_vectall(klon,knon, &
    469      &          evap,snow_evap_diag,Tsurf_new,Roce,snow, &
    470      &          fq_fonte_diag,fqfonte_diag,dtime,t_coup, &
    471      &          precip_snow,xtprecip_snow,xtprecip_rain, snow_prec,xtsnow_prec, &
    472      &          xtspechum,spechum,ps, &
    473      &          xtevap,xtsnow,fqcalving_diag, &
    474      &          knindex,is_sic,run_off_lic_diag,coeff_rel_diag,Rland_ice &
    475      &   )
     469            evap,snow_evap_diag,Tsurf_new,Roce,snow, &
     470            fq_fonte_diag,fqfonte_diag,dtime,t_coup, &
     471            precip_snow,xtprecip_snow,xtprecip_rain, snow_prec,xtsnow_prec, &
     472            xtspechum,spechum,ps, &
     473            xtevap,xtsnow,fqcalving_diag, &
     474            knindex,is_sic,run_off_lic_diag,coeff_rel_diag,Rland_ice &
     475     )
    476476#ifdef ISOVERIF
    477477        !write(*,*) 'ocean_forced_mod 391: sortie calcul_iso_surf_sic_vectall'
     
    479479      DO i = 1, knon 
    480480        CALL iso_verif_egalite_choix(snow(i), &
    481      &           xtsnow(iso_eau,i),'ocean_forced_mod 396', &
    482      &           errmax,errmaxrel)
     481             xtsnow(iso_eau,i),'ocean_forced_mod 396', &
     482             errmax,errmaxrel)
    483483      ENDDO ! DO j=1,knon
    484484    ENDIF !IF (iso_eau > 0) then
  • LMDZ6/branches/Amaury_dev/libf/phylmd/open_climoz_m.F90

    r5075 r5087  
    6464    IF(daily.AND.ntim/=year_len) THEN
    6565      WRITE(msg,'(a,3(i4,a))')TRIM(sub)//': Expecting a daily ozone file with',&
    66      &year_len,' records (year ',year_cur,') ; found ',ntim,' instead'
     66  year_len,' records (year ',year_cur,') ; found ',ntim,' instead'
    6767      CALL abort_physic(sub, msg, 1)
    6868    ELSE IF(ALL([360,14]/=ntim)) THEN
    6969      WRITE(msg,'(a,i4,a)')TRIM(sub)//': Expecting an ozone file with 14 (mont'&
    70      &//'hly case) or 360 (old style files) records ; found ',ntim,' instead'
     70  //'hly case) or 360 (old style files) records ; found ',ntim,' instead'
    7171      CALL abort_physic(sub, msg, 1)
    7272    ELSE
  • LMDZ6/branches/Amaury_dev/libf/phylmd/pbl_surface_mod.F90

    r5082 r5087  
    241241      IF (iso_eau >= 0) THEN
    242242         CALL iso_verif_egalite_vect2D( &
    243      &           xtsnow,snow, &
    244      &           'pbl_surface_mod 170',niso,klon,nbsrf)
     243             xtsnow,snow, &
     244             'pbl_surface_mod 170',niso,klon,nbsrf)
    245245         DO i=1,klon 
    246246            IF (iso_eau >= 0) THEN 
    247247              CALL iso_verif_egalite(Rland_ice(iso_eau,i),1.0, &
    248      &         'pbl_surf_mod 177')
     248           'pbl_surf_mod 177')
    249249            ENDIF
    250250         ENDDO
     
    319319!!!
    320320#ifdef ISO
    321      &   ,xtrain_f, xtsnow_f,xt, &
    322      &   wake_dlxt,zxxtevap,xtevap, &
    323      &   d_xt,d_xt_w,d_xt_x, &
    324      &   xtsol,dflux_xt,zxxtsnow,zxfluxxt,flux_xt, &
    325      &   h1_diag,runoff_diag,xtrunoff_diag &
     321     ,xtrain_f, xtsnow_f,xt, &
     322     wake_dlxt,zxxtevap,xtevap, &
     323     d_xt,d_xt_w,d_xt_x, &
     324     xtsol,dflux_xt,zxxtsnow,zxfluxxt,flux_xt, &
     325     h1_diag,runoff_diag,xtrunoff_diag &
    326326#endif     
    327      &   )
     327     )
    328328!****************************************************************************************
    329329! Auteur(s) Z.X. Li (LMD/CNRS) date: 19930818
     
    11021102        IF (iso_eau >= 0) THEN 
    11031103          CALL iso_verif_egalite_choix(Rland_ice(iso_eau,i),1.0, &
    1104      &         'pbl_surf_mod 585',errmax,errmaxrel)
     1104           'pbl_surf_mod 585',errmax,errmaxrel)
    11051105          CALL iso_verif_egalite_choix(xtsnow_f(iso_eau,i),snow_f(i), &
    1106      &         'pbl_surf_mod 594',errmax,errmaxrel)
     1106           'pbl_surf_mod 594',errmax,errmaxrel)
    11071107          IF (iso_verif_egalite_choix_nostop(xtsol(iso_eau,i),qsol(i), &
    1108      &         'pbl_surf_mod 596',errmax,errmaxrel) == 1) THEN
     1108           'pbl_surf_mod 596',errmax,errmaxrel) == 1) THEN
    11091109                WRITE(*,*) 'i=',i
    11101110                STOP
     
    11121112          DO nsrf=1,nbsrf
    11131113            CALL iso_verif_egalite_choix(xtsnow(iso_eau,i,nsrf),snow(i,nsrf), &
    1114      &         'pbl_surf_mod 598',errmax,errmaxrel)
     1114           'pbl_surf_mod 598',errmax,errmaxrel)
    11151115          ENDDO
    11161116        ENDIF !IF (iso_eau >= 0) THEN   
     
    11201120          IF (iso_eau >= 0) THEN 
    11211121            CALL iso_verif_egalite_choix(xt(iso_eau,i,k),q(i,k), &
    1122      &           'pbl_surf_mod 595',errmax,errmaxrel)
     1122             'pbl_surf_mod 595',errmax,errmaxrel)
    11231123          ENDIF !IF (iso_eau >= 0) THEN 
    11241124        ENDDO !DO i=1,knon 
     
    17081708          IF (iso_eau >= 0) THEN
    17091709              call iso_verif_egalite_choix(ysnow_f(j), &
    1710      &          yxtsnow_f(iso_eau,j),'pbl_surf_mod 862', &
    1711      &          errmax,errmaxrel)
     1710            yxtsnow_f(iso_eau,j),'pbl_surf_mod 862', &
     1711            errmax,errmaxrel)
    17121712              call iso_verif_egalite_choix(ysnow(j), &
    1713      &          yxtsnow(iso_eau,j),'pbl_surf_mod 872', &
    1714      &          errmax,errmaxrel)
     1713            yxtsnow(iso_eau,j),'pbl_surf_mod 872', &
     1714            errmax,errmaxrel)
    17151715          ENDIF
    17161716#endif
     
    21442144            AcoefH, AcoefQ, BcoefH, BcoefQ &
    21452145#ifdef ISO
    2146          &   ,yxt, CcoefXT, DcoefXT, gama_xt, AcoefXT, BcoefXT &
     2146     ,yxt, CcoefXT, DcoefXT, gama_xt, AcoefXT, BcoefXT &
    21472147#endif               
    2148          &   )
     2148     )
    21492149       ELSE  !(iflag_split .eq.0)
    21502150        CALL climb_hq_down(knon, ycoefh_x, ypaprs, ypplay, &
     
    21562156            AcoefH_x, AcoefQ_x, BcoefH_x, BcoefQ_x &
    21572157#ifdef ISO
    2158          &   ,yxt_x, CcoefXT_x, DcoefXT_x, gama_xt_x, AcoefXT_x, BcoefXT_x &
     2158     ,yxt_x, CcoefXT_x, DcoefXT_x, gama_xt_x, AcoefXT_x, BcoefXT_x &
    21592159#endif               
    2160          &   )
     2160     )
    21612161!!!
    21622162       IF (prt_level >=10) THEN
     
    21752175            AcoefH_w, AcoefQ_w, BcoefH_w, BcoefQ_w &
    21762176#ifdef ISO
    2177          &   ,yxt_w, CcoefXT_w, DcoefXT_w, gama_xt_w, AcoefXT_w, BcoefXT_w &
     2177     ,yxt_w, CcoefXT_w, DcoefXT_w, gama_xt_w, AcoefXT_w, BcoefXT_w &
    21782178#endif               
    2179          &   )
     2179     )
    21802180!!!
    21812181       IF (prt_level >=10) THEN
     
    24312431               yveget,ylai,yheight   &
    24322432#ifdef ISO
    2433          &      ,yxtrain_f, yxtsnow_f,yxt1, &
    2434          &      yxtsnow,yxtsol,yxtevap,h1, &
    2435          &      yrunoff_diag,yxtrunoff_diag,yRland_ice &
     2433        ,yxtrain_f, yxtsnow_f,yxt1, &
     2434        yxtsnow,yxtsol,yxtevap,h1, &
     2435        yrunoff_diag,yxtrunoff_diag,yRland_ice &
    24362436#endif               
    2437          &      )
     2437        )
    24382438 
    24392439!FC quid qd yveget ylai yheight ne sont pas definit
     
    24702470          DO ixt=1,ntraciso
    24712471            CALL iso_verif_noNaN(yxtevap(ixt,j), &
    2472          &      'pbl_surface 1056a: apres surf_land')
     2472        'pbl_surface 1056a: apres surf_land')
    24732473          ENDDO
    24742474          DO ixt=1,niso
    24752475            CALL iso_verif_noNaN(yxtsol(ixt,j), &
    2476          &      'pbl_surface 1056b: apres surf_land')
     2476        'pbl_surface 1056b: apres surf_land')
    24772477          ENDDO
    24782478        ENDDO
     
    24832483          IF (iso_eau >= 0) THEN     
    24842484                 CALL iso_verif_egalite(yxtsnow(iso_eau,j), &
    2485      &                                  ysnow(j),'pbl_surf_mod 1043')
     2485                                    ysnow(j),'pbl_surf_mod 1043')
    24862486          ENDIF !if (iso_eau.gt.0) then
    24872487        ENDDO !DO i=1,klon
     
    25102510                  y_flux_u1, y_flux_v1 &
    25112511#ifdef ISO
    2512                   &    ,yxtrain_f, yxtsnow_f,yxt1,yRland_ice &
    2513                   &    ,yxtsnow,yxtsol,yxtevap &
     2512      ,yxtrain_f, yxtsnow_f,yxt1,yRland_ice &
     2513      ,yxtsnow,yxtsol,yxtevap &
    25142514#endif             
    2515                   &    )
     2515      )
    25162516             
    25172517             !jyg<
     
    25402540               DO ixt=1,ntraciso
    25412541                 CALL iso_verif_noNaN(yxtevap(ixt,j), &
    2542                         &             'pbl_surface 1095a: apres surf_landice')
     2542               'pbl_surface 1095a: apres surf_landice')
    25432543               ENDDO
    25442544                do ixt=1,niso
    25452545                   call iso_verif_noNaN(yxtsol(ixt,j), &
    2546                         &      'pbl_surface 1095b: apres surf_landice')
     2546        'pbl_surface 1095b: apres surf_landice')
    25472547                enddo
    25482548             enddo
     
    25532553               IF (iso_eau >= 0) THEN     
    25542554                 CALL iso_verif_egalite(yxtsnow(iso_eau,j), &
    2555                         &               ysnow(j),'pbl_surf_mod 1064')
     2555                 ysnow(j),'pbl_surf_mod 1064')
    25562556               ENDIF !if (iso_eau >= 0) THEN
    25572557             ENDDO !DO i=1,klon
     
    25762576               ydt_ds(:knon), ytkt(:knon), ytks(:knon), ytaur(:knon), ysss &
    25772577#ifdef ISO
    2578          &      ,yxtrain_f, yxtsnow_f,yxt1,Roce, &
    2579          &      yxtsnow,yxtevap,h1 &
     2578        ,yxtrain_f, yxtsnow_f,yxt1,Roce, &
     2579        yxtsnow,yxtevap,h1 &
    25802580#endif               
    2581          &      )
     2581        )
    25822582      IF (prt_level >=10) THEN
    25832583          print *,'arg de surf_ocean: ycdragh ',ycdragh(1:knon)
     
    26222622               y_flux_u1, y_flux_v1 &
    26232623#ifdef ISO
    2624          &      ,yxtrain_f, yxtsnow_f,yxt1,Roce, &
    2625          &      yxtsnow,yxtsol,yxtevap,Rland_ice &
     2624        ,yxtrain_f, yxtsnow_f,yxt1,Roce, &
     2625        yxtsnow,yxtsol,yxtevap,Rland_ice &
    26262626#endif               
    2627          &      )
     2627        )
    26282628         
    26292629! Special DICE MPL 05082013 puis BOMEX MPL 20150410
     
    26392639          DO ixt=1,ntraciso
    26402640            CALL iso_verif_noNaN(yxtevap(ixt,j), &
    2641          &                       'pbl_surface 1165a: apres surf_seaice')
     2641                         'pbl_surface 1165a: apres surf_seaice')
    26422642          ENDDO
    26432643          DO ixt=1,niso
    26442644            CALL iso_verif_noNaN(yxtsol(ixt,j), &
    2645          &      'pbl_surface 1165b: apres surf_seaice')
     2645        'pbl_surface 1165b: apres surf_seaice')
    26462646          ENDDO
    26472647        ENDDO
     
    26522652          IF (iso_eau >= 0) THEN     
    26532653                 CALL iso_verif_egalite(yxtsnow(iso_eau,j), &
    2654      &                                  ysnow(j),'pbl_surf_mod 1106')
     2654                                    ysnow(j),'pbl_surf_mod 1106')
    26552655          ENDIF !IF (iso_eau >= 0) THEN
    26562656        ENDDO !DO i=1,klon
     
    27632763           DO j=1,knon
    27642764            print*,'y_flux_t1,yfluxlat,wakes' &
    2765  &                ,  y_flux_t1(j), yfluxlat(j), ywake_s(j)
     2765                  ,  y_flux_t1(j), yfluxlat(j), ywake_s(j)
    27662766            print*,'beta_prev, beta, ytsurf_new', ybeta_prev(j), ybeta(j), ytsurf_new(j)
    27672767            print*,'inertia,facteur,cstar', inertia, facteur,wake_cstar(j)
     
    29372937         print*,'Khx,Khw,Kh', Kech_h_x(j), Kech_h_w(j), Kech_h(j)
    29382938         print*,'t1x, t1w, t1, t1_ancien', &
    2939  &               yt_x(j,1), yt_w(j,1),  yt(j,1), t(j,1)
     2939                 yt_x(j,1), yt_w(j,1),  yt(j,1), t(j,1)
    29402940         print*,'delta_coef,delta_flux,delta_tsurf,tau', delta_coef(j), y_delta_flux_t1(j), y_delta_tsurf(j), tau_eq(j)
    29412941        ENDDO
     
    29432943        DO j=1,knon
    29442944         print*,'fluxT_x, fluxT_w, y_flux_t1, fluxQ_x, fluxQ_w, yfluxlat, wakes' &
    2945  &             , y_flux_t1_x(j), y_flux_t1_w(j), y_flux_t1(j), y_flux_q1_x(j)*RLVTT, y_flux_q1_w(j)*RLVTT, yfluxlat(j), ywake_s(j)
     2945               , y_flux_t1_x(j), y_flux_t1_w(j), y_flux_t1(j), y_flux_q1_x(j)*RLVTT, y_flux_q1_w(j)*RLVTT, yfluxlat(j), ywake_s(j)
    29462946         print*,'beta, ytsurf_new ', ybeta(j), ytsurf_new(j)
    29472947         print*,'inertia, facteur, cstar', inertia, facteur,wake_cstar(j)
     
    29662966            y_flux_q(:,:), y_flux_t(:,:), y_d_q(:,:), y_d_t(:,:) &
    29672967#ifdef ISO
    2968         &    ,yxt,y_flux_xt1 &
    2969         &    ,AcoefXT,BcoefXT,CcoefXT,DcoefXT,gama_xt &
    2970         &    ,y_flux_xt(:,:,:),y_d_xt(:,:,:) &
    2971 #endif
    2972         &    )   
     2968      ,yxt,y_flux_xt1 &
     2969      ,AcoefXT,BcoefXT,CcoefXT,DcoefXT,gama_xt &
     2970      ,y_flux_xt(:,:,:),y_d_xt(:,:,:) &
     2971#endif
     2972      )
    29732973       ELSE  !(iflag_split .eq.0)
    29742974        CALL climb_hq_up(knon, dtime, yt_x, yq_x, &
     
    29812981            y_flux_q_x(:,:), y_flux_t_x(:,:), y_d_q_x(:,:), y_d_t_x(:,:) &
    29822982#ifdef ISO
    2983         &    ,yxt_x,y_flux_xt1_x &
    2984         &    ,AcoefXT_x,BcoefXT_x,CcoefXT_x,DcoefXT_x,gama_xt_x &
    2985         &    ,y_flux_xt_x(:,:,:),y_d_xt_x(:,:,:) &
    2986 #endif
    2987         &    )   
     2983      ,yxt_x,y_flux_xt1_x &
     2984      ,AcoefXT_x,BcoefXT_x,CcoefXT_x,DcoefXT_x,gama_xt_x &
     2985      ,y_flux_xt_x(:,:,:),y_d_xt_x(:,:,:) &
     2986#endif
     2987      )
    29882988!
    29892989       CALL climb_hq_up(knon, dtime, yt_w, yq_w, &
     
    29962996            y_flux_q_w(:,:), y_flux_t_w(:,:), y_d_q_w(:,:), y_d_t_w(:,:) &
    29972997#ifdef ISO
    2998         &    ,yxt_w,y_flux_xt1_w &
    2999         &    ,AcoefXT_w,BcoefXT_w,CcoefXT_w,DcoefXT_w,gama_xt_w &
    3000         &    ,y_flux_xt_w(:,:,:),y_d_xt_w(:,:,:) &
    3001 #endif
    3002         &    )   
     2998      ,yxt_w,y_flux_xt1_w &
     2999      ,AcoefXT_w,BcoefXT_w,CcoefXT_w,DcoefXT_w,gama_xt_w &
     3000      ,y_flux_xt_w(:,:,:),y_d_xt_w(:,:,:) &
     3001#endif
     3002      )
    30033003!!!
    30043004       ENDIF  ! (iflag_split .eq.0)
     
    30193019     IF (iflag_pbl>=20 .and. iflag_pbl<30) THEN
    30203020        CALL yamada_c(knon,dtime,ypaprs,ypplay &
    3021     ,yu,yv,yt,y_d_u,y_d_v,y_d_t,ycdragm,ytke,ycoefm,ycoefh,ycoefq,y_d_t_diss,yustar &
    3022     ,iflag_pbl)
     3021    ,yu,yv,yt,y_d_u,y_d_v,y_d_t,ycdragm,ytke,ycoefm,ycoefh,ycoefq,y_d_t_diss,yustar &
     3022    ,iflag_pbl)
    30233023     ENDIF
    30243024!     print*,'yamada_c OK'
     
    30363036     IF (iflag_pbl>=20 .and. iflag_pbl<30) THEN
    30373037        CALL yamada_c(knon,dtime,ypaprs,ypplay &
    3038     ,yu_x,yv_x,yt_x,y_d_u_x,y_d_v_x,y_d_t_x,ycdragm_x,ytke_x,ycoefm_x,ycoefh_x &
     3038    ,yu_x,yv_x,yt_x,y_d_u_x,y_d_v_x,y_d_t_x,ycdragm_x,ytke_x,ycoefm_x,ycoefh_x &
    30393039        ,ycoefq_x,y_d_t_diss_x,yustar_x &
    3040     ,iflag_pbl)
     3040    ,iflag_pbl)
    30413041     ENDIF
    30423042!     print*,'yamada_c OK'
     
    30533053     IF (iflag_pbl>=20 .and. iflag_pbl<30) THEN
    30543054        CALL yamada_c(knon,dtime,ypaprs,ypplay &
    3055     ,yu_w,yv_w,yt_w,y_d_u_w,y_d_v_w,y_d_t_w,ycdragm_w,ytke_w,ycoefm_w,ycoefh_w &
     3055    ,yu_w,yv_w,yt_w,y_d_u_w,y_d_v_w,y_d_t_w,ycdragm_w,ytke_w,ycoefm_w,ycoefh_w &
    30563056        ,ycoefq_w,y_d_t_diss_w,yustar_w &
    3057     ,iflag_pbl)
     3057    ,iflag_pbl)
    30583058     ENDIF
    30593059!     print*,'yamada_c OK'
     
    32773277        IF (iso_eau.gt.0) THEN 
    32783278          call iso_verif_egalite_choix(Rland_ice(iso_eau,i),1.0, &
    3279      &         'pbl_surf_mod 1230',errmax,errmaxrel)
     3279           'pbl_surf_mod 1230',errmax,errmaxrel)
    32803280        ENDIF !if (iso_eau.gt.0) then
    32813281#endif       
     
    34893489!        write(*,*) 'iso_eau.gt.0=',iso_eau.gt.0
    34903490        call iso_verif_noNaN_vect2D( &
    3491      &           d_xt, &
    3492      &           'pbl_surface 1385',ntraciso,klon,klev) 
     3491             d_xt, &
     3492             'pbl_surface 1385',ntraciso,klon,klev)
    34933493     IF (iso_eau >= 0) THEN
    34943494        call iso_verif_egalite_vect2D( &
  • LMDZ6/branches/Amaury_dev/libf/phylmd/phys_output_var_mod.F90

    r4773 r5087  
    164164 
    165165  REAL, SAVE, ALLOCATABLE:: tkt(:) ! (klon)
    166   ! épaisseur (m) de la couche de diffusion thermique (microlayer)
     166  ! paisseur (m) de la couche de diffusion thermique (microlayer)
    167167  ! cool skin thickness
    168168
    169169  REAL, SAVE, ALLOCATABLE:: tks(:) ! (klon)
    170   ! épaisseur (m) de la couche de diffusion de masse (microlayer)
     170  ! paisseur (m) de la couche de diffusion de masse (microlayer)
    171171 
    172172  REAL, SAVE, ALLOCATABLE:: taur(:) ! (klon) momentum flux due to rain, in Pa
     
    206206    allocate (bils_ec(klon),bils_ech(klon),bils_tke(klon),bils_diss(klon),bils_kinetic(klon),bils_enthalp(klon),bils_latent(klon))
    207207    allocate (d_qw_col(klon), d_ql_col(klon), d_qs_col(klon), d_qbs_col(klon), d_qt_col(klon), d_ek_col(klon), d_h_dair_col(klon) &
    208   &         , d_h_qw_col(klon), d_h_ql_col(klon), d_h_qs_col(klon), d_h_qbs_col(klon), d_h_col(klon))
     208           , d_h_qw_col(klon), d_h_ql_col(klon), d_h_qs_col(klon), d_h_qbs_col(klon), d_h_col(klon))
    209209    d_qw_col=0. ; d_ql_col=0. ; d_qs_col=0. ; d_qbs_col=0. ; d_qt_col=0. ; d_ek_col=0. ; d_h_dair_col =0.
    210210    d_h_qw_col=0. ; d_h_ql_col=0. ; d_h_qs_col=0. ; d_h_qbs_col=0. ; d_h_col=0.
     
    274274    deallocate (bils_ec,bils_ech,bils_tke,bils_diss,bils_kinetic,bils_enthalp,bils_latent)
    275275    deallocate (d_qw_col, d_ql_col, d_qs_col, d_qbs_col, d_qt_col, d_ek_col, d_h_dair_col &
    276   &           , d_h_qw_col, d_h_ql_col, d_h_qs_col, d_h_qbs_col, d_h_col)
     276             , d_h_qw_col, d_h_ql_col, d_h_qs_col, d_h_qbs_col, d_h_col)
    277277
    278278    ! Outputs used in cloudth_vert
  • LMDZ6/branches/Amaury_dev/libf/phylmd/physiq_mod.F90

    r5086 r5087  
    2323    USE aero_mod
    2424    USE add_phys_tend_mod, only : add_pbl_tend, add_phys_tend, diag_phys_tend, prt_enerbil, &
    25   &      fl_ebil, fl_cor_ebil
     25        fl_ebil, fl_cor_ebil
    2626    USE assert_m, only: assert
    2727    USE change_srf_frac_mod
     
    18591859       CALL atke_ini(RG, RD, RPI, RCPD, RV, viscom, viscoh)
    18601860       CALL thermcell_ini(iflag_thermals,prt_level,tau_thermals,lunout, &
    1861    &    RG,RD,RCPD,RKAPPA,RLVTT,RETV)
     1861      RG,RD,RCPD,RKAPPA,RLVTT,RETV)
    18621862       CALL ratqs_ini(klon,klev,iflag_thermals,lunout,nbsrf,is_lic,is_ter,RG,RV,RD,RCPD,RLSTT,RLVTT,RTT)
    18631863       CALL lscp_ini(pdtphys,lunout,prt_level,ok_ice_sursat,iflag_ratqs,fl_cor_ebil,RCPD,RLSTT,RLVTT,RLMLT,RVTMP2,RTT,RD,RG,RV,RPI)
     
    18811881       ENDIF   
    18821882       CALL cloud_optics_prop_ini(klon, prt_level, lunout, flag_aerosol, &
    1883                                   & ok_cdnc, bl95_b0, &
    1884                                   & bl95_b1, latitude_deg, rpi, rg, rd, &
    1885                                   & zepsec, novlp, iflag_ice_thermo, ok_new_lscp)
     1883   ok_cdnc, bl95_b0, &
     1884   bl95_b1, latitude_deg, rpi, rg, rd, &
     1885   zepsec, novlp, iflag_ice_thermo, ok_new_lscp)
    18861886!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    18871887
     
    26732673    !
    26742674     CALL reevap (klon,klev,iflag_ice_thermo,t_seri,q_seri,ql_seri,qs_seri, &
    2675    &         d_t_eva,d_q_eva,d_ql_eva,d_qi_eva)
     2675           d_t_eva,d_q_eva,d_ql_eva,d_qi_eva)
    26762676
    26772677     CALL add_phys_tend &
     
    52595259     write(*,*) 'je vais appeler simu_airs, ok_airs, freq_airs=', ok_airs, freq_airs
    52605260     CALL simu_airs(itap,rneb, t_seri, cldemi, fiwc, ref_ice, pphi, pplay, paprs,&
    5261         & map_prop_hc,map_prop_hist,&
    5262         & map_emis_hc,map_iwp_hc,map_deltaz_hc,map_pcld_hc,map_tcld_hc,&
    5263         & map_emis_Cb,map_pcld_Cb,map_tcld_Cb,&
    5264         & map_emis_ThCi,map_pcld_ThCi,map_tcld_ThCi,&
    5265         & map_emis_Anv,map_pcld_Anv,map_tcld_Anv,&
    5266         & map_emis_hist,map_iwp_hist,map_deltaz_hist,map_rad_hist,&
    5267         & map_ntot,map_hc,map_hist,&
    5268         & map_Cb,map_ThCi,map_Anv,&
    5269         & alt_tropo )
     5261   map_prop_hc,map_prop_hist,&
     5262   map_emis_hc,map_iwp_hc,map_deltaz_hc,map_pcld_hc,map_tcld_hc,&
     5263   map_emis_Cb,map_pcld_Cb,map_tcld_Cb,&
     5264   map_emis_ThCi,map_pcld_ThCi,map_tcld_ThCi,&
     5265   map_emis_Anv,map_pcld_Anv,map_tcld_Anv,&
     5266   map_emis_hist,map_iwp_hist,map_deltaz_hist,map_rad_hist,&
     5267   map_ntot,map_hc,map_hist,&
     5268   map_Cb,map_ThCi,map_Anv,&
     5269   alt_tropo )
    52705270  ENDIF
    52715271
  • LMDZ6/branches/Amaury_dev/libf/phylmd/physiqex_mod.F90

    r4658 r5087  
    77
    88      SUBROUTINE physiqex (nlon,nlev, &
    9      &            debut,lafin,pdtphys, &
    10      &            paprs,pplay,pphi,pphis,presnivs, &
    11      &            u,v,rot,t,qx, &
    12      &            flxmass_w, &
    13      &            d_u, d_v, d_t, d_qx, d_ps)
     9              debut,lafin,pdtphys, &
     10              paprs,pplay,pphi,pphis,presnivs, &
     11              u,v,rot,t,qx, &
     12              flxmass_w, &
     13              d_u, d_v, d_t, d_qx, d_ps)
    1414
    1515      USE dimphy, only : klon,klev
  • LMDZ6/branches/Amaury_dev/libf/phylmd/phytrac_mod.F90

    r5082 r5087  
    754754           IF (it==id_OCS_strat) THEN
    755755             budg_dep_wet_ocs(i)=budg_dep_wet_ocs(i)+d_tr_cv(i,k,it)*(mSatom/mOCSmol) &
    756                             & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     756   *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    757757           ELSEIF (it==id_SO2_strat) THEN
    758758             budg_dep_wet_so2(i)=budg_dep_wet_so2(i)+d_tr_cv(i,k,it)*(mSatom/mSO2mol) &
    759                             & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     759   *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    760760           ELSEIF (it==id_H2SO4_strat) THEN
    761761             budg_dep_wet_h2so4(i)=budg_dep_wet_h2so4(i)+d_tr_cv(i,k,it)*(mSatom/mH2SO4mol) &
    762                             & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     762   *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    763763           ELSEIF (it.GT.nbtr_sulgas) THEN
    764764             budg_dep_wet_part(i)=budg_dep_wet_part(i)+d_tr_cv(i,k,it)*(mSatom/mH2SO4mol)  &
    765                             & *dens_aer_dry*4./3.*RPI*(mdw(it-nbtr_sulgas)/2.)**3 &
    766                             & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     765   *dens_aer_dry*4./3.*RPI*(mdw(it-nbtr_sulgas)/2.)**3 &
     766   *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    767767           ENDIF
    768768         ENDDO
     
    832832         ! from IPSL note 23, 2002)
    833833         v_dep_dry(:) =  pctsrf(:,is_ter) * 2.5e-3 &
    834                      & + pctsrf(:,is_oce) * 0.5e-3 &
    835                      & + pctsrf(:,is_lic) * 2.5e-3 &
    836                      & + pctsrf(:,is_sic) * 2.5e-3
     834   + pctsrf(:,is_oce) * 0.5e-3 &
     835   + pctsrf(:,is_lic) * 2.5e-3 &
     836   + pctsrf(:,is_sic) * 2.5e-3
    837837
    838838         ! compute surface dry deposition flux
     
    868868               ELSEIF (it.GT.nbtr_sulgas) THEN
    869869                 budg_dep_dry_part(:)=budg_dep_dry_part(:)-source(:,it)*(mSatom/mH2SO4mol)*dens_aer_dry &
    870                                 & *4./3.*RPI*(mdw(it-nbtr_sulgas)/2.)**3
     870   *4./3.*RPI*(mdw(it-nbtr_sulgas)/2.)**3
    871871               ENDIF
    872872             ENDIF
     
    948948             IF (it==id_OCS_strat) THEN
    949949               budg_dep_wet_ocs(i)=budg_dep_wet_ocs(i)+d_tr_ls(i,k,it)*(mSatom/mOCSmol) &
    950                               & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     950   *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    951951             ELSEIF (it==id_SO2_strat) THEN
    952952               budg_dep_wet_so2(i)=budg_dep_wet_so2(i)+d_tr_ls(i,k,it)*(mSatom/mSO2mol) &
    953                               & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     953   *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    954954             ELSEIF (it==id_H2SO4_strat) THEN
    955955               budg_dep_wet_h2so4(i)=budg_dep_wet_h2so4(i)+d_tr_ls(i,k,it)*(mSatom/mH2SO4mol) &
    956                               & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     956   *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    957957             ELSEIF (it.GT.nbtr_sulgas) THEN
    958958               budg_dep_wet_part(i)=budg_dep_wet_part(i)+d_tr_ls(i,k,it)*(mSatom/mH2SO4mol)  &
    959                               & *dens_aer_dry*4./3.*RPI*(mdw(it-nbtr_sulgas)/2.)**3 &
    960                               & *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
     959   *dens_aer_dry*4./3.*RPI*(mdw(it-nbtr_sulgas)/2.)**3 &
     960   *(paprs(i,k)-paprs(i,k+1))/RG/pdtphys
    961961             ENDIF
    962962           ENDDO
  • LMDZ6/branches/Amaury_dev/libf/phylmd/printflag.F90

    r5082 r5087  
    2121  PRINT 100
    2222  PRINT *, ' ******************************************************* &
    23     &                                                         &
    24     ************'
     23
     24    ************'
    2525  PRINT *, ' ********   Choix  des principales  cles de la physique &
    26     &                                                         &
    27         *********'
     26
     27        *********'
    2828  PRINT *, ' ******************************************************* &
    29     &                                                         &
    30     ************'
     29
     30    ************'
    3131  PRINT 100
    3232  PRINT 10, iflag_cycle_diurne>=1, soil_model
     
    3535  IF (iflag_con==1) THEN
    3636    PRINT *, ' *****           Shema  convection   LMD        &
    37       &                                                       &
    38       &                   ******'
     37
     38                     ******'
    3939  ELSE IF (iflag_con==2) THEN
    4040    PRINT *, ' *****           Shema  convection  Tiedtke     &
    41       &                                                       &
    42       &                   ******'
     41
     42                     ******'
    4343  ELSE IF (iflag_con>=3) THEN
    4444    PRINT *, ' *****           Shema  convection    Emanuel   &
    45       &                                                       &
    46       &                   ******'
     45
     46                     ******'
    4747  END IF
    4848  PRINT 100
     
    8080
    8181  PRINT *, ' $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ &
    82     &                                                         &
    83     & $$$$$$$$$$$$$'
     82
     83   $$$$$$$$$$$$$'
    8484  PRINT 100
    8585
     
    135135  PRINT 100
    136136  PRINT *, ' ******************************************************* &
    137     &                                                         &
    138     ************'
     137
     138    ************'
    139139  PRINT 100
    140140
  • LMDZ6/branches/Amaury_dev/libf/phylmd/radlwsw_m.F90

    r5082 r5087  
    12971297             DO i = 1, kdlon
    12981298                ZTH_i(i,K)=&
    1299                      & (t_i(i,K-1)*pplay_i(i,K-1)*(pplay_i(i,K)-paprs_i(i,K))&
    1300                      & +t_i(i,K)*pplay_i(i,K)*(paprs_i(i,K)-pplay_i(i,K-1)))&
    1301                      & *(1.0/(paprs_i(i,K)*(pplay_i(i,K)-pplay_i(i,K-1))))
     1299   (t_i(i,K-1)*pplay_i(i,K-1)*(pplay_i(i,K)-paprs_i(i,K))&
     1300   +t_i(i,K)*pplay_i(i,K)*(paprs_i(i,K)-pplay_i(i,K-1)))&
     1301   *(1.0/(paprs_i(i,K)*(pplay_i(i,K)-pplay_i(i,K-1))))
    13021302             ENDDO
    13031303          ENDDO
     
    13051305             ! Sommet
    13061306             ZTH_i(i,1)=t_i(i,1)-pplay_i(i,1)*(t_i(i,1)-ZTH_i(i,2))&
    1307                   & /(pplay_i(i,1)-paprs_i(i,2))
     1307   /(pplay_i(i,1)-paprs_i(i,2))
    13081308             ! Vers le sol
    13091309             ZTH_i(i,KLEV+1)=t_i(i,KLEV) + 0.5 * &
     
    13611361                  ok_3Deffect, namelist_ecrad_file   
    13621362             CALL RADIATION_SCHEME &
    1363                   & (ist, iend, klon, klev, naero_spc, NSW, &
    1364                   & namelist_ecrad_file, ok_3Deffect, &
    1365                   & debut, ok_volcan, flag_aerosol_strat, &
    1366                   & day_cur, current_time, &
     1363   (ist, iend, klon, klev, naero_spc, NSW, &
     1364   namelist_ecrad_file, ok_3Deffect, &
     1365   debut, ok_volcan, flag_aerosol_strat, &
     1366   day_cur, current_time, &
    13671367                  !       Cste solaire/(d_Terre-Soleil)**2
    1368                   & SOLARIRAD, &
     1368   SOLARIRAD, &
    13691369                  !       Cos(angle zin), temp sol             
    1370                   & rmu0, tsol, &
     1370   rmu0, tsol, &
    13711371                  !       Albedo diffuse et directe
    1372                   & PALBD_NEW,PALBP_NEW, &   
     1372   PALBD_NEW,PALBP_NEW, &
    13731373                  !       Emessivite : PEMIS_WINDOW (???), &
    1374                   & ZEMIS, ZEMISW, &
     1374   ZEMIS, ZEMISW, &
    13751375                  !       longitude(rad), sin(latitude), PMASQ_ ???
    1376                   & ZGELAM, ZGEMU, &
     1376   ZGELAM, ZGEMU, &
    13771377                  !       Temp et pres aux interf, vapeur eau, Satur spec humid
    1378                   & paprs_i, ZTH_i, q_i, qsat_i, &
     1378   paprs_i, ZTH_i, q_i, qsat_i, &
    13791379                  !       Gas
    1380                   & ZCO2, ZCH4, ZN2O, ZNO2, ZCFC11, ZCFC12, ZHCFC22, &
    1381                   & ZCCL4, POZON_i(:,:,1), ZO2, &
     1380   ZCO2, ZCH4, ZN2O, ZNO2, ZCFC11, ZCFC12, ZHCFC22, &
     1381   ZCCL4, POZON_i(:,:,1), ZO2, &
    13821382                  !       nuages :
    1383                   & cldfra_i, flwc_i, fiwc_i, ZQ_SNOW, &
     1383   cldfra_i, flwc_i, fiwc_i, ZQ_SNOW, &
    13841384                  !       rayons effectifs des gouttelettes             
    1385                   & ref_liq_i, ref_ice_i, &
     1385   ref_liq_i, ref_ice_i, &
    13861386                  !       aerosols
    1387                   & ZAEROSOL_OLD, ZAEROSOL, &
     1387   ZAEROSOL_OLD, ZAEROSOL, &
    13881388                  ! Outputs
    13891389                  !       Net flux :
    1390                   & ZSWFT_i, ZLWFT_i, ZSWFT0_ii, ZLWFT0_ii, &
     1390   ZSWFT_i, ZLWFT_i, ZSWFT0_ii, ZLWFT0_ii, &
    13911391                  !       DWN flux :
    1392                   & ZFSDWN_i, ZFLUX_i(:,2,:), ZFCDWN_i, ZFLUC_i(:,2,:), &
     1392   ZFSDWN_i, ZFLUX_i(:,2,:), ZFCDWN_i, ZFLUC_i(:,2,:), &
    13931393                  !       UP flux :
    1394                   & ZFSUP_i, ZFLUX_i(:,1,:), ZFCUP_i, ZFLUC_i(:,1,:), &
     1394   ZFSUP_i, ZFLUX_i(:,1,:), ZFCUP_i, ZFLUC_i(:,1,:), &
    13951395                  !       Surf Direct flux : ATTENTION
    1396                   & ZFLUX_DIR, ZFLUX_DIR_CLEAR, ZFLUX_DIR_INTO_SUN, &
     1396   ZFLUX_DIR, ZFLUX_DIR_CLEAR, ZFLUX_DIR_INTO_SUN, &
    13971397                  !       UV and para flux
    1398                   & ZFLUX_UV, ZFLUX_PAR, ZFLUX_PAR_CLEAR, &
     1398   ZFLUX_UV, ZFLUX_PAR, ZFLUX_PAR_CLEAR, &
    13991399                  !      & ZFLUX_SW_DN_TOA,
    1400                   & ZEMIS_OUT, ZLWDERIVATIVE, &
    1401                   & PSFSWDIF, PSFSWDIR, &
    1402                   & cloud_cover_sw)
     1400   ZEMIS_OUT, ZLWDERIVATIVE, &
     1401   PSFSWDIF, PSFSWDIR, &
     1402   cloud_cover_sw)
    14031403          else
    14041404             print*,' 2e apell Ecrad : ok_3Deffect, namelist_ecrad_file = ', &
    14051405                  ok_3Deffect, namelist_ecrad_file       
    14061406             CALL RADIATION_SCHEME_S2 &
    1407                   & (ist, iend, klon, klev, naero_grp, NSW, &
    1408                   & namelist_ecrad_file, ok_3Deffect, &
    1409                   & debut, ok_volcan, flag_aerosol_strat, &
    1410                   & day_cur, current_time, &
     1407   (ist, iend, klon, klev, naero_grp, NSW, &
     1408   namelist_ecrad_file, ok_3Deffect, &
     1409   debut, ok_volcan, flag_aerosol_strat, &
     1410   day_cur, current_time, &
    14111411                  !       Cste solaire/(d_Terre-Soleil)**2
    1412                   & SOLARIRAD, &
     1412   SOLARIRAD, &
    14131413                  !       Cos(angle zin), temp sol             
    1414                   & rmu0, tsol, &
     1414   rmu0, tsol, &
    14151415                  !       Albedo diffuse et directe
    1416                   & PALBD_NEW,PALBP_NEW, &
     1416   PALBD_NEW,PALBP_NEW, &
    14171417                  !       Emessivite : PEMIS_WINDOW (???), &
    1418                   & ZEMIS, ZEMISW, &
     1418   ZEMIS, ZEMISW, &
    14191419                  !       longitude(rad), sin(latitude), PMASQ_ ???
    1420                   & ZGELAM, ZGEMU, &
     1420   ZGELAM, ZGEMU, &
    14211421                  !       Temp et pres aux interf, vapeur eau, Satur spec humid
    1422                   & paprs_i, ZTH_i, q_i, qsat_i, &
     1422   paprs_i, ZTH_i, q_i, qsat_i, &
    14231423                  !       Gas
    1424                   & ZCO2, ZCH4, ZN2O, ZNO2, ZCFC11, ZCFC12, ZHCFC22, &
    1425                   & ZCCL4, POZON_i(:,:,1), ZO2, &
     1424   ZCO2, ZCH4, ZN2O, ZNO2, ZCFC11, ZCFC12, ZHCFC22, &
     1425   ZCCL4, POZON_i(:,:,1), ZO2, &
    14261426                  !       nuages :
    1427                   & cldfra_i, flwc_i, fiwc_i, ZQ_SNOW, &
     1427   cldfra_i, flwc_i, fiwc_i, ZQ_SNOW, &
    14281428                  !       rayons effectifs des gouttelettes             
    1429                   & ref_liq_i, ref_ice_i, &
     1429   ref_liq_i, ref_ice_i, &
    14301430                  !       aerosols
    1431                   & ZAEROSOL_OLD, ZAEROSOL, &
     1431   ZAEROSOL_OLD, ZAEROSOL, &
    14321432                  ! Outputs
    14331433                  !       Net flux :
    1434                   & ZSWFT_i, ZLWFT_i, ZSWFT0_ii, ZLWFT0_ii, &
     1434   ZSWFT_i, ZLWFT_i, ZSWFT0_ii, ZLWFT0_ii, &
    14351435                  !       DWN flux :
    1436                   & ZFSDWN_i, ZFLUX_i(:,2,:), ZFCDWN_i, ZFLUC_i(:,2,:), &
     1436   ZFSDWN_i, ZFLUX_i(:,2,:), ZFCDWN_i, ZFLUC_i(:,2,:), &
    14371437                  !       UP flux :
    1438                   & ZFSUP_i, ZFLUX_i(:,1,:), ZFCUP_i, ZFLUC_i(:,1,:), &
     1438   ZFSUP_i, ZFLUX_i(:,1,:), ZFCUP_i, ZFLUC_i(:,1,:), &
    14391439                  !       Surf Direct flux : ATTENTION
    1440                   & ZFLUX_DIR, ZFLUX_DIR_CLEAR, ZFLUX_DIR_INTO_SUN, &
     1440   ZFLUX_DIR, ZFLUX_DIR_CLEAR, ZFLUX_DIR_INTO_SUN, &
    14411441                  !       UV and para flux
    1442                   & ZFLUX_UV, ZFLUX_PAR, ZFLUX_PAR_CLEAR, &
     1442   ZFLUX_UV, ZFLUX_PAR, ZFLUX_PAR_CLEAR, &
    14431443                  !      & ZFLUX_SW_DN_TOA,
    1444                   & ZEMIS_OUT, ZLWDERIVATIVE, &
    1445                   & PSFSWDIF, PSFSWDIR, &
    1446                   & cloud_cover_sw)
     1444   ZEMIS_OUT, ZLWDERIVATIVE, &
     1445   PSFSWDIF, PSFSWDIR, &
     1446   cloud_cover_sw)
    14471447          endif
    14481448
  • LMDZ6/branches/Amaury_dev/libf/phylmd/reevap.F90

    r5082 r5087  
    11  SUBROUTINE reevap (klon,klev,iflag_ice_thermo,t_seri,q_seri,ql_seri,qs_seri, &
    2    &         d_t_eva,d_q_eva,d_ql_eva,d_qs_eva)
     2           d_t_eva,d_q_eva,d_ql_eva,d_qs_eva)
    33
    44    ! flag to include modifications to ensure energy conservation (if flag >0)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/regr_horiz_time_climoz_m.F90

    r5075 r5087  
    660660    CALL NF95_PUT_ATT(fID_ou, vID_ou(1), "long_name", "ozone mole fraction")
    661661    CALL NF95_PUT_ATT(fID_ou, vID_ou(1), "standard_name", "mole_fraction_of_ozone&
    662       &_in_air")
     662  _in_air")
    663663    IF(SIZE(vID_ou) == 2) THEN
    664664      CALL NF95_DEF_VAR(fID_ou, vars_in(2), NF90_FLOAT, dIDs(1:ndims), vID_ou(2))
    665665      CALL NF95_PUT_ATT(fID_ou, vID_ou(2), "long_name","ozone mole fraction in da&
    666         &ylight")
     666  ylight")
    667667    END IF
    668668
  • LMDZ6/branches/Amaury_dev/libf/phylmd/regr_lat_time_coefoz_m.F90

    r5086 r5087  
    299299
    300300       ncerr = nf90_copy_att(ncid_in, varid_in(i), "long_name",&
    301             & ncid_out, varid_out(i))
     301   ncid_out, varid_out(i))
    302302       call handle_err_copy_att("long_name")
    303303
    304304       ncerr = nf90_copy_att(ncid_in, varid_in(i), "units", ncid_out,&
    305             & varid_out(i))
     305   varid_out(i))
    306306       call handle_err_copy_att("units")
    307307
    308308       ncerr = nf90_copy_att(ncid_in, varid_in(i), "standard_name", ncid_out,&
    309             & varid_out(i))
     309   varid_out(i))
    310310       call handle_err_copy_att("standard_name")
    311311    END DO
  • LMDZ6/branches/Amaury_dev/libf/phylmd/screenp_mod.F90

    r5082 r5087  
    1515!
    1616      SUBROUTINE screenp(klon, knon, nsrf, &
    17      &                   speed, tair, qair, &
    18      &                   ts, qsurf, rugos, lmon, &
    19      &                   ustar, testar, qstar, zref, &
    20      &                   delu, delte, delq)
     17                     speed, tair, qair, &
     18                     ts, qsurf, rugos, lmon, &
     19                     ustar, testar, qstar, zref, &
     20                     delu, delte, delq)
    2121      IMPLICIT none
    2222!-------------------------------------------------------------------------
     
    7373!
    7474          IF (speed(i)>1.5.AND.lmon(i)<=1.0                        &
    75      &                      .AND. rugos(i)<=1.0) THEN
     75                        .AND. rugos(i)<=1.0) THEN
    7676            delu(i) = (ustar(i)/RKAR)* &
    7777                      (log(zref/(rugos(i))+1.) + &
     
    122122!
    123123      SUBROUTINE screenpn(klon, knon, nsrf, &
    124      &                   speed, tair, qair, &
    125      &                   ts, qsurf, rugos, zri1, &
    126      &                   zref, &
    127      &                   delu, delte, delq)
     124                     speed, tair, qair, &
     125                     ts, qsurf, rugos, zri1, &
     126                     zref, &
     127                     delu, delte, delq)
    128128      IMPLICIT none
    129129!-------------------------------------------------------------------------
  • LMDZ6/branches/Amaury_dev/libf/phylmd/simu_airs.F90

    r5086 r5087  
    2323        REAL P(N),T(N),alt(N),slope(N)
    2424        REAL P_min, P_max, slope_limit,slope_2km, &
    25      & delta_alt_limit,tmp,delta_alt
     25   delta_alt_limit,tmp,delta_alt
    2626        PARAMETER(P_min=75.0, P_max=470.0)   ! hPa
    2727        PARAMETER(slope_limit=0.002)         ! 2 K/km converted to K/m
     
    6666        if (first_point>1) then
    6767        tmp=(slope_limit-slope(first_point))/(slope(first_point+1)- &
    68      & slope(first_point))*(P(first_point+1)-P(first_point))
     68   slope(first_point))*(P(first_point+1)-P(first_point))
    6969        P_tropo=P(first_point)+tmp
    7070        ! print*, 'P_tropo= ', tmp, P(first_point), P_tropo
     
    8282
    8383        subroutine cloud_structure(len_cs, rneb_cs, temp_cs, &
    84      & emis_cs, iwco_cs, &
    85      & pres_cs, dz_cs, rhodz_cs, rad_cs, &
    86      & cc_tot_cs, cc_hc_cs, cc_hist_cs, &
    87      & cc_Cb_cs, cc_ThCi_cs, cc_Anv_cs, &
    88      & pcld_hc_cs, tcld_hc_cs, &
    89      & em_hc_cs, iwp_hc_cs, deltaz_hc_cs, &
    90      & pcld_Cb_cs, tcld_Cb_cs, em_Cb_cs, &
    91      & pcld_ThCi_cs, tcld_ThCi_cs, em_ThCi_cs, &
    92      & pcld_Anv_cs, tcld_Anv_cs, em_Anv_cs, &
    93      & em_hist_cs, iwp_hist_cs, deltaz_hist_cs, rad_hist_cs)
     84   emis_cs, iwco_cs, &
     85   pres_cs, dz_cs, rhodz_cs, rad_cs, &
     86   cc_tot_cs, cc_hc_cs, cc_hist_cs, &
     87   cc_Cb_cs, cc_ThCi_cs, cc_Anv_cs, &
     88   pcld_hc_cs, tcld_hc_cs, &
     89   em_hc_cs, iwp_hc_cs, deltaz_hc_cs, &
     90   pcld_Cb_cs, tcld_Cb_cs, em_Cb_cs, &
     91   pcld_ThCi_cs, tcld_ThCi_cs, em_ThCi_cs, &
     92   pcld_Anv_cs, tcld_Anv_cs, em_Anv_cs, &
     93   em_hist_cs, iwp_hist_cs, deltaz_hist_cs, rad_hist_cs)
    9494
    9595
     
    103103
    104104        REAL, intent(out) :: cc_tot_cs, cc_hc_cs, cc_hist_cs, &
    105      & cc_Cb_cs, cc_ThCi_cs, cc_Anv_cs, &
    106      & pcld_hc_cs, tcld_hc_cs, em_hc_cs, iwp_hc_cs, &
    107      & pcld_Cb_cs, tcld_Cb_cs, em_Cb_cs, &
    108      & pcld_ThCi_cs, tcld_ThCi_cs, em_ThCi_cs, &
    109      & pcld_Anv_cs, tcld_Anv_cs, em_Anv_cs, &
    110      & em_hist_cs, iwp_hist_cs, &
    111      & deltaz_hc_cs, deltaz_hist_cs, rad_hist_cs
     105   cc_Cb_cs, cc_ThCi_cs, cc_Anv_cs, &
     106   pcld_hc_cs, tcld_hc_cs, em_hc_cs, iwp_hc_cs, &
     107   pcld_Cb_cs, tcld_Cb_cs, em_Cb_cs, &
     108   pcld_ThCi_cs, tcld_ThCi_cs, em_ThCi_cs, &
     109   pcld_Anv_cs, tcld_Anv_cs, em_Anv_cs, &
     110   em_hist_cs, iwp_hist_cs, &
     111   deltaz_hc_cs, deltaz_hist_cs, rad_hist_cs
    112112
    113113        REAL, DIMENSION(len_cs) :: rneb_ord
     
    117117        REAL, DIMENSION(:), allocatable :: sCb, sThCi, sAnv
    118118        REAL, DIMENSION(:), allocatable :: iwp_ss, pcld_ss, tcld_ss,&
    119      & emis_ss
     119   emis_ss
    120120        REAL, DIMENSION(:), allocatable :: deltaz_ss, rad_ss
    121121
     
    185185        do i = 1, nss
    186186         call sous_section(len_cs, rneb_cs, temp_cs, &
    187      &  emis_cs, iwco_cs, &
    188      &  pres_cs, dz_cs, rhodz_cs, rad_cs, rneb_ord, &
    189      &  rneb_max(i),s(i),s_hc(i),s_hist(i), &
    190      &  sCb(i), sThCi(i), sAnv(i), &
    191      &  emis_ss(i), &
    192      &  pcld_ss(i), tcld_ss(i), iwp_ss(i), deltaz_ss(i), rad_ss(i))
     187    emis_cs, iwco_cs, &
     188    pres_cs, dz_cs, rhodz_cs, rad_cs, rneb_ord, &
     189    rneb_max(i),s(i),s_hc(i),s_hist(i), &
     190    sCb(i), sThCi(i), sAnv(i), &
     191    emis_ss(i), &
     192    pcld_ss(i), tcld_ss(i), iwp_ss(i), deltaz_ss(i), rad_ss(i))
    193193        enddo
    194194
     
    304304
    305305        if (cc_tot_cs > maxval(rneb_cs) .and. &
    306      & abs(cc_tot_cs-maxval(rneb_cs)) > 1.e-4 )  then
     306   abs(cc_tot_cs-maxval(rneb_cs)) > 1.e-4 )  then
    307307          WRITE(abort_message,*) 'cc_tot_cs > max rneb_cs', cc_tot_cs, maxval(rneb_cs)
    308308          CALL abort_physic(modname,abort_message,1)
     
    347347
    348348        subroutine sous_section(len_cs, rneb_cs, temp_cs, &
    349      & emis_cs, iwco_cs, &
    350      & pres_cs, dz_cs, rhodz_cs, rad_cs, rneb_ord, &
    351      & rnebmax, stot, shc, shist, &
    352      & sCb, sThCi, sAnv, &
    353      & emis, pcld, tcld, iwp, deltaz, rad)
     349   emis_cs, iwco_cs, &
     350   pres_cs, dz_cs, rhodz_cs, rad_cs, rneb_ord, &
     351   rnebmax, stot, shc, shist, &
     352   sCb, sThCi, sAnv, &
     353   emis, pcld, tcld, iwp, deltaz, rad)
    354354
    355355        INTEGER, intent(in) :: len_cs
    356356        REAL, DIMENSION(len_cs), intent(in) :: rneb_cs, temp_cs
    357357        REAL, DIMENSION(len_cs), intent(in) :: emis_cs, iwco_cs, &
    358      & rneb_ord
     358   rneb_ord
    359359        REAL, DIMENSION(len_cs), intent(in) :: pres_cs, dz_cs, rad_cs
    360360        REAL, DIMENSION(len_cs), intent(in) :: rhodz_cs
     
    417417
    418418        call caract(ibeg, iend, temp_cs, tau_cs, iwco_cs, &
    419      & pres_cs, dz_cs, rhodz_cs, rad_cs, pcld, tcld, &
    420      & som_tau, som_iwc, som_dz, som_rad)
     419   pres_cs, dz_cs, rhodz_cs, rad_cs, pcld, tcld, &
     420   som_tau, som_iwc, som_dz, som_rad)
    421421
    422422! On masque le nuage s'il n'est pas detectable
     
    437437
    438438        call caract(ibeg, iend, temp_cs, tau_cs, iwco_cs, &
    439      & pres_cs, dz_cs, rhodz_cs, rad_cs, pcld, tcld, &
    440      & som_tau, som_iwc, som_dz, som_rad)
     439   pres_cs, dz_cs, rhodz_cs, rad_cs, pcld, tcld, &
     440   som_tau, som_iwc, som_dz, som_rad)
    441441
    442442        tau = som_tau
     
    457457
    458458        if (emis < em_min .or. emis > em_max  &
    459      & .or. tcld > 230.) then
     459   .or. tcld > 230.) then
    460460        shist = 0.
    461461        endif
     
    515515
    516516        subroutine masque (ibeg, iend, som_tau, &
    517      & visible, w)
     517   visible, w)
    518518
    519519        INTEGER, intent(in) :: ibeg, iend
     
    556556
    557557         subroutine caract (ibeg, iend, temp_cs, tau_cs, iwco_cs, &
    558      & pres_cs, dz_cs, rhodz_cs, rad_cs, pcld, tcld, &
    559      & som_tau, som_iwc, som_dz, som_rad)
     558   pres_cs, dz_cs, rhodz_cs, rad_cs, pcld, tcld, &
     559   som_tau, som_iwc, som_dz, som_rad)
    560560
    561561        INTEGER, intent(in) :: ibeg, iend
     
    686686 
    687687        subroutine sim_mesh(rneb_1D, temp_1D, emis_1D, &
    688      & iwcon_1D, rad_1D, &
    689      & pres, dz, &
    690      & rhodz_1D, cc_tot_mesh, cc_hc_mesh, cc_hist_mesh, pcld_hc_mesh,&
    691      & tcld_hc_mesh, &
    692      & em_hc_mesh, iwp_hc_mesh, deltaz_hc_mesh, &
    693      & cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh, &
    694      & pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh, &
    695      & pcld_ThCi_mesh, tcld_ThCi_mesh, em_ThCi_mesh, &
    696      & pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh, &
    697      & em_hist_mesh, iwp_hist_mesh, deltaz_hist_mesh, rad_hist_mesh)
     688   iwcon_1D, rad_1D, &
     689   pres, dz, &
     690   rhodz_1D, cc_tot_mesh, cc_hc_mesh, cc_hist_mesh, pcld_hc_mesh,&
     691   tcld_hc_mesh, &
     692   em_hc_mesh, iwp_hc_mesh, deltaz_hc_mesh, &
     693   cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh, &
     694   pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh, &
     695   pcld_ThCi_mesh, tcld_ThCi_mesh, em_ThCi_mesh, &
     696   pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh, &
     697   em_hist_mesh, iwp_hist_mesh, deltaz_hist_mesh, rad_hist_mesh)
    698698
    699699       USE dimphy
    700700
    701701       REAL, DIMENSION(klev), intent(in) :: rneb_1D, temp_1D, emis_1D, &
    702      & iwcon_1D, rad_1D
     702   iwcon_1D, rad_1D
    703703        REAL, DIMENSION(klev), intent(in) :: pres, dz, rhodz_1D
    704704        REAL, intent(out) :: cc_tot_mesh, cc_hc_mesh, cc_hist_mesh
    705705        REAL, intent(out) :: cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh
    706706        REAL, intent(out) :: em_hc_mesh, pcld_hc_mesh, tcld_hc_mesh, &
    707      & iwp_hc_mesh
     707   iwp_hc_mesh
    708708
    709709        REAL, intent(out) :: pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh
    710710        REAL, intent(out) :: pcld_ThCi_mesh, tcld_ThCi_mesh, &
    711      & em_ThCi_mesh
     711   em_ThCi_mesh
    712712        REAL, intent(out) :: pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh
    713713
     
    716716
    717717        REAL, DIMENSION(:), allocatable :: rneb_cs, temp_cs, emis_cs, &
    718      & iwco_cs
     718   iwco_cs
    719719        REAL, DIMENSION(:), allocatable :: pres_cs, dz_cs, rad_cs, &
    720      & rhodz_cs
     720   rhodz_cs
    721721
    722722        INTEGER :: i,j,l
     
    724724
    725725        REAL :: som_emi_hc,som_pcl_hc,som_tcl_hc,som_iwp_hc,som_hc,&
    726      & som_hist
     726   som_hist
    727727        REAL :: som_emi_hist, som_iwp_hist, som_deltaz_hc, &
    728      & som_deltaz_hist
     728   som_deltaz_hist
    729729        REAL :: som_rad_hist
    730730        REAL :: som_Cb, som_ThCi, som_Anv
     
    849849
    850850        call cloud_structure(len_cs,rneb_cs,temp_cs,emis_cs,iwco_cs,&
    851      & pres_cs, dz_cs, rhodz_cs, rad_cs, &
    852      & cc_tot_cs, cc_hc_cs, cc_hist_cs, &
    853      & cc_Cb_cs, cc_ThCi_cs, cc_Anv_cs, &
    854      & pcld_hc_cs, tcld_hc_cs, &
    855      & em_hc_cs, iwp_hc_cs, deltaz_hc_cs, &
    856      & pcld_Cb_cs, tcld_Cb_cs, em_Cb_cs, &
    857      & pcld_ThCi_cs, tcld_ThCi_cs, em_ThCi_cs, &
    858      & pcld_Anv_cs, tcld_Anv_cs, em_Anv_cs, &
    859      & em_hist_cs, iwp_hist_cs, deltaz_hist_cs, rad_hist_cs)
     851   pres_cs, dz_cs, rhodz_cs, rad_cs, &
     852   cc_tot_cs, cc_hc_cs, cc_hist_cs, &
     853   cc_Cb_cs, cc_ThCi_cs, cc_Anv_cs, &
     854   pcld_hc_cs, tcld_hc_cs, &
     855   em_hc_cs, iwp_hc_cs, deltaz_hc_cs, &
     856   pcld_Cb_cs, tcld_Cb_cs, em_Cb_cs, &
     857   pcld_ThCi_cs, tcld_ThCi_cs, em_ThCi_cs, &
     858   pcld_Anv_cs, tcld_Anv_cs, em_Anv_cs, &
     859   em_hist_cs, iwp_hist_cs, deltaz_hist_cs, rad_hist_cs)
    860860
    861861
     
    897897        som_iwp_hist = som_iwp_hist + iwp_hist_cs*cc_hist_cs*prod_hh
    898898        som_deltaz_hist = som_deltaz_hist + &
    899      & deltaz_hist_cs*cc_hist_cs*prod_hh
     899   deltaz_hist_cs*cc_hist_cs*prod_hh
    900900        som_rad_hist = som_rad_hist + rad_hist_cs*cc_hist_cs*prod_hh
    901901
     
    956956
    957957        call normal2_undef(pcld_hc_mesh,som_pcl_hc, &
    958      & cc_hc_mesh)
     958   cc_hc_mesh)
    959959        call normal2_undef(tcld_hc_mesh,som_tcl_hc, &
    960      & cc_hc_mesh)
     960   cc_hc_mesh)
    961961        call normal2_undef(em_hc_mesh,som_emi_hc, &
    962      & cc_hc_mesh)
     962   cc_hc_mesh)
    963963        call normal2_undef(iwp_hc_mesh,som_iwp_hc, &
    964      & cc_hc_mesh)
     964   cc_hc_mesh)
    965965        call normal2_undef(deltaz_hc_mesh,som_deltaz_hc, &
    966      & cc_hc_mesh)
     966   cc_hc_mesh)
    967967
    968968        call normal2_undef(em_Cb_mesh,som_emi_Cb, &
    969      & cc_Cb_mesh)
     969   cc_Cb_mesh)
    970970        call normal2_undef(tcld_Cb_mesh,som_tcld_Cb, &
    971      & cc_Cb_mesh)
     971   cc_Cb_mesh)
    972972        call normal2_undef(pcld_Cb_mesh,som_pcld_Cb, &
    973      & cc_Cb_mesh)
     973   cc_Cb_mesh)
    974974
    975975        call normal2_undef(em_ThCi_mesh,som_emi_ThCi, &
    976      & cc_ThCi_mesh)
     976   cc_ThCi_mesh)
    977977        call normal2_undef(tcld_ThCi_mesh,som_tcld_ThCi, &
    978      & cc_ThCi_mesh)
     978   cc_ThCi_mesh)
    979979        call normal2_undef(pcld_ThCi_mesh,som_pcld_ThCi, &
    980      & cc_ThCi_mesh)
     980   cc_ThCi_mesh)
    981981
    982982       call normal2_undef(em_Anv_mesh,som_emi_Anv, &
    983      & cc_Anv_mesh)
     983   cc_Anv_mesh)
    984984        call normal2_undef(tcld_Anv_mesh,som_tcld_Anv, &
    985      & cc_Anv_mesh)
     985   cc_Anv_mesh)
    986986        call normal2_undef(pcld_Anv_mesh,som_pcld_Anv, &
    987      & cc_Anv_mesh)
     987   cc_Anv_mesh)
    988988
    989989
    990990        call normal2_undef(em_hist_mesh,som_emi_hist, &
    991      & cc_hist_mesh)
     991   cc_hist_mesh)
    992992        call normal2_undef(iwp_hist_mesh,som_iwp_hist, &
    993      & cc_hist_mesh)
     993   cc_hist_mesh)
    994994        call normal2_undef(deltaz_hist_mesh,som_deltaz_hist, &
    995      & cc_hist_mesh)
     995   cc_hist_mesh)
    996996        call normal2_undef(rad_hist_mesh,som_rad_hist, &
    997      & cc_hist_mesh)
     997   cc_hist_mesh)
    998998
    999999
     
    10031003
    10041004       if (cc_tot_mesh > tsom_tot .and. &
    1005      & abs(cc_tot_mesh-tsom_tot) > 1.e-4) then
     1005   abs(cc_tot_mesh-tsom_tot) > 1.e-4) then
    10061006           WRITE(abort_message,*)'cc_tot_mesh > tsom_tot', cc_tot_mesh, tsom_tot
    10071007           CALL abort_physic(modname,abort_message,1)
     
    10091009
    10101010        if (cc_tot_mesh < maxval(test_tot(1:N_CS)) .and. &
    1011      & abs(cc_tot_mesh-maxval(test_tot(1:N_CS))) > 1.e-4) then
     1011   abs(cc_tot_mesh-maxval(test_tot(1:N_CS))) > 1.e-4) then
    10121012           WRITE(abort_message,*) 'cc_tot_mesh < max', cc_tot_mesh, maxval(test_tot(1:N_CS))
    10131013           CALL abort_physic(modname,abort_message,1)
     
    10151015
    10161016        if (cc_hc_mesh > tsom_hc .and. &
    1017      & abs(cc_hc_mesh-tsom_hc) > 1.e-4) then
     1017   abs(cc_hc_mesh-tsom_hc) > 1.e-4) then
    10181018           WRITE(abort_message,*) 'cc_hc_mesh > tsom_hc', cc_hc_mesh, tsom_hc
    10191019           CALL abort_physic(modname,abort_message,1)
     
    10211021
    10221022        if (cc_hc_mesh < maxval(test_hc(1:N_CS)) .and. &
    1023      & abs(cc_hc_mesh-maxval(test_hc(1:N_CS))) > 1.e-4) then
     1023   abs(cc_hc_mesh-maxval(test_hc(1:N_CS))) > 1.e-4) then
    10241024           WRITE(abort_message,*) 'cc_hc_mesh < max', cc_hc_mesh, maxval(test_hc(1:N_CS))
    10251025           CALL abort_physic(modname,abort_message,1)
     
    10271027
    10281028        if (cc_hist_mesh > tsom_hist .and. &
    1029      & abs(cc_hist_mesh-tsom_hist) > 1.e-4) then
     1029   abs(cc_hist_mesh-tsom_hist) > 1.e-4) then
    10301030           WRITE(abort_message,*) 'cc_hist_mesh > tsom_hist', cc_hist_mesh, tsom_hist
    10311031           CALL abort_physic(modname,abort_message,1)
     
    10381038
    10391039        if ((pcld_hc_mesh > maxval(test_pcld(1:N_CS)) .or. &
    1040      & pcld_hc_mesh < minval(test_pcld(1:N_CS))) .and. &
    1041      & abs(pcld_hc_mesh-maxval(test_pcld(1:N_CS))) > 1. .and. &
    1042      & maxval(test_pcld(1:N_CS)) /= 999. &
    1043      & .and. minval(test_pcld(1:N_CS)) /= 999.) then
     1040   pcld_hc_mesh < minval(test_pcld(1:N_CS))) .and. &
     1041   abs(pcld_hc_mesh-maxval(test_pcld(1:N_CS))) > 1. .and. &
     1042   maxval(test_pcld(1:N_CS)) /= 999. &
     1043   .and. minval(test_pcld(1:N_CS)) /= 999.) then
    10441044           WRITE(abort_message,*) 'pcld_hc_mesh est faux', pcld_hc_mesh, maxval(test_pcld(1:N_CS)), &
    1045      & minval(test_pcld(1:N_CS))
     1045   minval(test_pcld(1:N_CS))
    10461046           CALL abort_physic(modname,abort_message,1)
    10471047        endif
    10481048
    10491049       if ((tcld_hc_mesh > maxval(test_tcld(1:N_CS)) .or. &
    1050      & tcld_hc_mesh < minval(test_tcld(1:N_CS))) .and. &
    1051      & abs(tcld_hc_mesh-maxval(test_tcld(1:N_CS))) > 0.1 .and. &
    1052      & maxval(test_tcld(1:N_CS)) /= 999. &
    1053      & .and. minval(test_tcld(1:N_CS)) /= 999.) then
     1050   tcld_hc_mesh < minval(test_tcld(1:N_CS))) .and. &
     1051   abs(tcld_hc_mesh-maxval(test_tcld(1:N_CS))) > 0.1 .and. &
     1052   maxval(test_tcld(1:N_CS)) /= 999. &
     1053   .and. minval(test_tcld(1:N_CS)) /= 999.) then
    10541054           WRITE(abort_message,*) 'tcld_hc_mesh est faux', tcld_hc_mesh, maxval(test_tcld(1:N_CS)), &
    1055                 & minval(test_tcld(1:N_CS))
     1055   minval(test_tcld(1:N_CS))
    10561056           CALL abort_physic(modname,abort_message,1)
    10571057        endif
    10581058
    10591059        if ((em_hc_mesh > maxval(test_em(1:N_CS)) .or. &
    1060      & em_hc_mesh < minval(test_em(1:N_CS))) .and. &
    1061      & abs(em_hc_mesh-maxval(test_em(1:N_CS))) > 1.e-4 .and. &
    1062      & minval(test_em(1:N_CS)) /= 999. .and. &
    1063      & maxval(test_em(1:N_CS)) /= 999. ) then
     1060   em_hc_mesh < minval(test_em(1:N_CS))) .and. &
     1061   abs(em_hc_mesh-maxval(test_em(1:N_CS))) > 1.e-4 .and. &
     1062   minval(test_em(1:N_CS)) /= 999. .and. &
     1063   maxval(test_em(1:N_CS)) /= 999. ) then
    10641064           WRITE(abort_message,*) 'em_hc_mesh est faux', em_hc_mesh, maxval(test_em(1:N_CS)), &
    1065      & minval(test_em(1:N_CS))
     1065   minval(test_em(1:N_CS))
    10661066           CALL abort_physic(modname,abort_message,1)
    10671067        endif
     
    11221122
    11231123        subroutine simu_airs &
    1124      & (itap, rneb_airs, temp_airs, cldemi_airs, iwcon0_airs, rad_airs, &
    1125      & geop_airs, pplay_airs, paprs_airs, &
    1126      & map_prop_hc,map_prop_hist,&
    1127      & map_emis_hc,map_iwp_hc,map_deltaz_hc,map_pcld_hc,map_tcld_hc,&
    1128      & map_emis_Cb,map_pcld_Cb,map_tcld_Cb,&
    1129      & map_emis_ThCi,map_pcld_ThCi,map_tcld_ThCi,&
    1130      & map_emis_Anv,map_pcld_Anv,map_tcld_Anv,&
    1131      & map_emis_hist,map_iwp_hist,map_deltaz_hist,map_rad_hist,&
    1132      & map_ntot,map_hc,map_hist,&
    1133      & map_Cb,map_ThCi,map_Anv,alt_tropo )
     1124   (itap, rneb_airs, temp_airs, cldemi_airs, iwcon0_airs, rad_airs, &
     1125   geop_airs, pplay_airs, paprs_airs, &
     1126   map_prop_hc,map_prop_hist,&
     1127   map_emis_hc,map_iwp_hc,map_deltaz_hc,map_pcld_hc,map_tcld_hc,&
     1128   map_emis_Cb,map_pcld_Cb,map_tcld_Cb,&
     1129   map_emis_ThCi,map_pcld_ThCi,map_tcld_ThCi,&
     1130   map_emis_Anv,map_pcld_Anv,map_tcld_Anv,&
     1131   map_emis_hist,map_iwp_hist,map_deltaz_hist,map_rad_hist,&
     1132   map_ntot,map_hc,map_hist,&
     1133   map_Cb,map_ThCi,map_Anv,alt_tropo )
    11341134
    11351135        USE dimphy
     
    11431143
    11441144        REAL, DIMENSION(klon,klev), intent(in) :: &
    1145      & rneb_airs, temp_airs, cldemi_airs, iwcon0_airs, &
    1146      & rad_airs, geop_airs, pplay_airs, paprs_airs
     1145   rneb_airs, temp_airs, cldemi_airs, iwcon0_airs, &
     1146   rad_airs, geop_airs, pplay_airs, paprs_airs
    11471147
    11481148       REAL, DIMENSION(klon,klev) :: &
    1149      & rhodz_airs, rho_airs, iwcon_airs
     1149   rhodz_airs, rho_airs, iwcon_airs
    11501150
    11511151        REAL, DIMENSION(klon),intent(out) :: alt_tropo
    11521152
    11531153        REAL, DIMENSION(klev) :: rneb_1D, temp_1D, &
    1154      & emis_1D, rad_1D, pres_1D, alt_1D, &
    1155      & rhodz_1D, dz_1D, iwcon_1D
     1154   emis_1D, rad_1D, pres_1D, alt_1D, &
     1155   rhodz_1D, dz_1D, iwcon_1D
    11561156
    11571157        INTEGER :: i, j
     
    11721172        REAL, DIMENSION(klon),intent(out) :: map_emis_Cb,map_pcld_Cb,map_tcld_Cb
    11731173        REAL, DIMENSION(klon),intent(out) :: &
    1174      & map_emis_ThCi,map_pcld_ThCi,map_tcld_ThCi
     1174   map_emis_ThCi,map_pcld_ThCi,map_tcld_ThCi
    11751175        REAL, DIMENSION(klon),intent(out) :: &
    1176      & map_emis_Anv,map_pcld_Anv,map_tcld_Anv
     1176   map_emis_Anv,map_pcld_Anv,map_tcld_Anv
    11771177        REAL, DIMENSION(klon),intent(out) :: &
    1178      & map_emis_hist,map_iwp_hist,map_deltaz_hist,&
    1179      & map_rad_hist
     1178   map_emis_hist,map_iwp_hist,map_deltaz_hist,&
     1179   map_rad_hist
    11801180        REAL, DIMENSION(klon),intent(out) :: map_ntot,map_hc,map_hist
    11811181        REAL, DIMENSION(klon),intent(out) :: map_Cb,map_ThCi,map_Anv
     
    11921192        do j = 1, klev-1
    11931193        rhodz_airs(i,j) = &
    1194      & (paprs_airs(i,j)-paprs_airs(i,j+1))/RG
     1194   (paprs_airs(i,j)-paprs_airs(i,j+1))/RG
    11951195        enddo
    11961196        rhodz_airs(i,klev) = 0.
     
    12001200        do j = 1,klev
    12011201        rho_airs(i,j) = &
    1202      & pplay_airs(i,j)/(temp_airs(i,j)*RD)
     1202   pplay_airs(i,j)/(temp_airs(i,j)*RD)
    12031203
    12041204        if (rneb_airs(i,j) > 0.001) then
     
    12321232
    12331233        alt_tropo(i) = &
    1234      & search_tropopause(pres_1D/100.,temp_1D,alt_1D,klev)
     1234   search_tropopause(pres_1D/100.,temp_1D,alt_1D,klev)
    12351235
    12361236
     
    12401240
    12411241        call sim_mesh(rneb_1D, temp_1D, emis_1D, iwcon_1D, rad_1D, &
    1242      & pres_1D, dz_1D, rhodz_1D, &
    1243      & cc_tot_mesh, cc_hc_mesh, cc_hist_mesh, &
    1244      & pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh, &
    1245      & deltaz_hc_mesh,&
    1246      & cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh, &
    1247      & pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh, &
    1248      & pcld_ThCi_mesh, tcld_ThCi_mesh, em_ThCi_mesh, &
    1249      & pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh, &
    1250      & em_hist_mesh, iwp_hist_mesh, deltaz_hist_mesh, rad_hist_mesh)
     1242   pres_1D, dz_1D, rhodz_1D, &
     1243   cc_tot_mesh, cc_hc_mesh, cc_hist_mesh, &
     1244   pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh, &
     1245   deltaz_hc_mesh,&
     1246   cc_Cb_mesh, cc_ThCi_mesh, cc_Anv_mesh, &
     1247   pcld_Cb_mesh, tcld_Cb_mesh, em_Cb_mesh, &
     1248   pcld_ThCi_mesh, tcld_ThCi_mesh, em_ThCi_mesh, &
     1249   pcld_Anv_mesh, tcld_Anv_mesh, em_Anv_mesh, &
     1250   em_hist_mesh, iwp_hist_mesh, deltaz_hist_mesh, rad_hist_mesh)
    12511251
    12521252         write(*,*) '===================================='
    12531253         write(*,*) 'itap, i:', itap, i
    12541254         write(*,*) 'cc_tot, cc_hc, cc_hist, pcld_hc, tcld_hc, em_hc, &
    1255      & iwp_hc, em_hist, iwp_hist ='
     1255   iwp_hc, em_hist, iwp_hist ='
    12561256         write(*,*) cc_tot_mesh, cc_hc_mesh, cc_hist_mesh
    12571257         write(*,*) pcld_hc_mesh, tcld_hc_mesh, em_hc_mesh, iwp_hc_mesh
     
    12631263
    12641264        call normal2_undef(map_prop_hc(i),cc_hc_mesh, &
    1265      & cc_tot_mesh)
     1265   cc_tot_mesh)
    12661266        call normal2_undef(map_prop_hist(i),cc_hist_mesh, &
    1267      & cc_tot_mesh)
     1267   cc_tot_mesh)
    12681268
    12691269       map_emis_hc(i) = em_hc_mesh
  • LMDZ6/branches/Amaury_dev/libf/phylmd/stdlevvar_mod.F90

    r5082 r5087  
    123123
    124124      CALL cdrag(knon, nsrf, &
    125  &                   speed, t1, q1, z1, &
    126  &                   psol, s_pblh, ts1, qsurf, z0m, z0h, &
    127  &                   zri_zero, 0, &
    128  &                   cdram, cdrah, zri1, pref, prain, tsol, pat1)
     125                     speed, t1, q1, z1, &
     126                     psol, s_pblh, ts1, qsurf, z0m, z0h, &
     127                     zri_zero, 0, &
     128                     cdram, cdrah, zri1, pref, prain, tsol, pat1)
    129129
    130130! --- special Dice: on force cdragm ( a defaut de forcer ustar) MPL 05082013
     
    153153        qstar(i) = (cdrah(i) * zdq(i) * speed(i))/ustar(i)
    154154        lmon(i) = (ustar(i) * ustar(i) * tpot(i))/ &
    155  &                (RKAR * RG * testar(i))
     155                  (RKAR * RG * testar(i))
    156156      ENDDO
    157157!
     
    159159      zref = 2.0
    160160      CALL screenp(klon, knon, nsrf, speed, tpot, q1, &
    161  &                 ts1, qsurf, z0m, lmon, &
    162  &                 ustar, testar, qstar, zref, &
    163  &                 delu, delte, delq)
     161                   ts1, qsurf, z0m, lmon, &
     162                   ustar, testar, qstar, zref, &
     163                   delu, delte, delq)
    164164!
    165165      DO i = 1, knon
     
    179179        okri=.TRUE.
    180180        CALL screenc(klon, knon, nsrf, zxli, &
    181  &                   u_zref, temp, q_zref, zref, &
    182  &                   ts1, qsurf, z0m, z0h, psol, &           
    183  &                   ustar, testar, qstar, okri, ri1, &
    184  &                   pref, delu, delte, delq, s_pblh ,prain, tsol, pat1)
     181                     u_zref, temp, q_zref, zref, &
     182                     ts1, qsurf, z0m, z0h, psol, &
     183                     ustar, testar, qstar, okri, ri1, &
     184                     pref, delu, delte, delq, s_pblh ,prain, tsol, pat1)
    185185!
    186186        DO i = 1, knon
     
    261261      zref = 10.0
    262262      CALL screenp(klon, knon, nsrf, speed, tpot, q1, &
    263  &                 ts1, qsurf, z0m, lmon, &
    264  &                 ustar, testar, qstar, zref, &
    265  &                 delu, delte, delq)
     263                   ts1, qsurf, z0m, lmon, &
     264                   ustar, testar, qstar, zref, &
     265                   delu, delte, delq)
    266266!
    267267      DO i = 1, knon
     
    281281        okri=.TRUE.
    282282        CALL screenc(klon, knon, nsrf, zxli, &
    283  &                   u_zref, temp, q_zref, zref, &
    284  &                   ts1, qsurf, z0m, z0h, psol, &
    285  &                   ustar, testar, qstar, okri, ri1, &
    286  &                   pref, delu, delte, delq, s_pblh ,prain, tsol, pat1)
     283                     u_zref, temp, q_zref, zref, &
     284                     ts1, qsurf, z0m, z0h, psol, &
     285                     ustar, testar, qstar, okri, ri1, &
     286                     pref, delu, delte, delq, s_pblh ,prain, tsol, pat1)
    287287!
    288288        DO i = 1, knon
     
    451451      okri=.FALSE.
    452452      CALL cdrag(knon, nsrf, &
    453  &                   speed, t1, q1, z1, &
    454  &                   psol, s_pblh, ts1, qsurf, z0m, z0h, &
    455  &                   zri_zero, 0, &
    456  &                   cdram, cdrah, zri1, pref, prain, tsol, pat1)
     453                     speed, t1, q1, z1, &
     454                     psol, s_pblh, ts1, qsurf, z0m, z0h, &
     455                     zri_zero, 0, &
     456                     cdram, cdrah, zri1, pref, prain, tsol, pat1)
    457457
    458458!
     
    472472!
    473473       CALL screencn(klon, knon, nsrf, zxli, &
    474  &                   speed, tpot, q1, zref, &
    475  &                   ts1, qsurf, z0m, z0h, psol, &           
    476  &                   cdram, cdrah,  okri, &
    477  &                   ri1, 1, &
    478  &                   pref_new, delm_new, delh_new, ri2m, &
    479  &                   s_pblh, prain, tsol, pat1      )
     474                     speed, tpot, q1, zref, &
     475                     ts1, qsurf, z0m, z0h, psol, &
     476                     cdram, cdrah,  okri, &
     477                     ri1, 1, &
     478                     pref_new, delm_new, delh_new, ri2m, &
     479                     s_pblh, prain, tsol, pat1      )
    480480!
    481481       DO i = 1, knon
     
    483483         u_zref_p(i) = u_zref(i)
    484484         q_zref(i) = delh_new(i)*max(q1(i),0.0) + &
    485          &           max(qsurf(i),0.0)*(1-delh_new(i))
     485             max(qsurf(i),0.0)*(1-delh_new(i))
    486486         q_zref_p(i) = q_zref(i)
    487487         te_zref(i) = delh_new(i)*tpot(i) + ts1(i)*(1-delh_new(i))
     
    495495!
    496496         ok_t2m_toosmall(i)=te_zref(i)<tpot(i).AND. &
    497          & te_zref(i)<ts1(i)
     497   te_zref(i)<ts1(i)
    498498         ok_t2m_toobig(i)=te_zref(i)>tpot(i).AND. &
    499          & te_zref(i)>ts1(i)
     499   te_zref(i)>ts1(i)
    500500         ok_q2m_toosmall(i)=q_zref(i)<q1(i).AND. &
    501          & q_zref(i)<qsurf(i)
     501   q_zref(i)<qsurf(i)
    502502         ok_q2m_toobig(i)=q_zref(i)>q1(i).AND. &
    503          & q_zref(i)>qsurf(i)
     503   q_zref(i)>qsurf(i)
    504504         ok_u2m_toobig(i)=u_zref(i)>speed(i)
    505505!
     
    515515!
    516516         IF(ok_t2m_toosmall(i).OR.ok_t2m_toobig(i).OR. &
    517           & ok_q2m_toosmall(i).OR.ok_q2m_toobig(i).OR. &
    518           & ok_u2m_toobig(i)) THEN
     517   ok_q2m_toosmall(i).OR.ok_q2m_toobig(i).OR. &
     518   ok_u2m_toobig(i)) THEN
    519519             delm_new(i)=min(max(delm_new(i),0.),1.)
    520520             delh_new(i)=min(max(delh_new(i),0.),1.)
     
    522522             u_zref_p(i) = u_zref(i)
    523523             q_zref(i) = delh_new(i)*max(q1(i),0.0) + &
    524          &               max(qsurf(i),0.0)*(1-delh_new(i))
     524                 max(qsurf(i),0.0)*(1-delh_new(i))
    525525             q_zref_p(i) = q_zref(i)
    526526             te_zref(i) = delh_new(i)*tpot(i) + ts1(i)*(1-delh_new(i))
     
    540540        okri=.TRUE.
    541541        CALL screencn(klon, knon, nsrf, zxli, &
    542  &                   u_zref, temp, q_zref, zref, &
    543  &                   ts1, qsurf, z0m, z0h, psol, &
    544  &                   cdram, cdrah,  okri, &
    545  &                   ri1, 0, &
    546  &                   pref, delm, delh, ri2m, &
    547  &                   s_pblh, prain, tsol, pat1      )
     542                     u_zref, temp, q_zref, zref, &
     543                     ts1, qsurf, z0m, z0h, psol, &
     544                     cdram, cdrah,  okri, &
     545                     ri1, 0, &
     546                     pref, delm, delh, ri2m, &
     547                     s_pblh, prain, tsol, pat1      )
    548548!
    549549        DO i = 1, knon
    550550          u_zref(i) = delm(i)*speed(i)
    551551          q_zref(i) = delh(i)*max(q1(i),0.0) + &
    552           &           max(qsurf(i),0.0)*(1-delh(i))
     552             max(qsurf(i),0.0)*(1-delh(i))
    553553          te_zref(i) = delh(i)*tpot(i) + ts1(i)*(1-delh(i))
    554554!
     
    559559!
    560560          ok_t2m_toosmall(i)=te_zref(i)<tpot(i).AND. &
    561           & te_zref(i)<ts1(i)
     561   te_zref(i)<ts1(i)
    562562          ok_t2m_toobig(i)=te_zref(i)>tpot(i).AND. &
    563           & te_zref(i)>ts1(i)
     563   te_zref(i)>ts1(i)
    564564          ok_q2m_toosmall(i)=q_zref(i)<q1(i).AND. &
    565           & q_zref(i)<qsurf(i)
     565   q_zref(i)<qsurf(i)
    566566          ok_q2m_toobig(i)=q_zref(i)>q1(i).AND. &
    567           & q_zref(i)>qsurf(i)
     567   q_zref(i)>qsurf(i)
    568568          ok_u2m_toobig(i)=u_zref(i)>speed(i)
    569569!
     
    579579!
    580580          IF(ok_t2m_toosmall(i).OR.ok_t2m_toobig(i).OR. &
    581            & ok_q2m_toosmall(i).OR.ok_q2m_toobig(i).OR. &
    582            & ok_u2m_toobig(i)) THEN
     581   ok_q2m_toosmall(i).OR.ok_q2m_toobig(i).OR. &
     582   ok_u2m_toobig(i)) THEN
    583583              delm(i)=min(max(delm(i),0.),1.)
    584584              delh(i)=min(max(delh(i),0.),1.)
    585585              u_zref(i) = delm(i)*speed(i)
    586586              q_zref(i) = delh(i)*max(q1(i),0.0) + &
    587           &           max(qsurf(i),0.0)*(1-delh(i))
     587             max(qsurf(i),0.0)*(1-delh(i))
    588588              te_zref(i) = delh(i)*tpot(i) + ts1(i)*(1-delh(i))
    589589              temp(i) = te_zref(i) * (psol(i)/pref(i))**(-RKAPPA)
     
    620620!
    621621       CALL screencn(klon, knon, nsrf, zxli, &
    622  &                   speed, tpot, q1, zref, &
    623  &                   ts1, qsurf, z0m, z0h, psol, &           
    624  &                   cdram, cdrah,  okri, &
    625  &                   ri1, 1, &
    626  &                   pref_new, delm_new, delh_new, ri10m, &
    627  &                   s_pblh, prain, tsol, pat1      )
     622                     speed, tpot, q1, zref, &
     623                     ts1, qsurf, z0m, z0h, psol, &
     624                     cdram, cdrah,  okri, &
     625                     ri1, 1, &
     626                     pref_new, delm_new, delh_new, ri10m, &
     627                     s_pblh, prain, tsol, pat1      )
    628628!
    629629       DO i = 1, knon
    630630         u_zref(i) = delm_new(i)*speed(i)
    631631         q_zref(i) = delh_new(i)*max(q1(i),0.0) + &
    632          &           max(qsurf(i),0.0)*(1-delh_new(i))
     632             max(qsurf(i),0.0)*(1-delh_new(i))
    633633         te_zref(i) = delh_new(i)*tpot(i) + ts1(i)*(1-delh_new(i))
    634634         temp(i) = te_zref(i) * (psol(i)/pref_new(i))**(-RKAPPA)
     
    638638!
    639639         ok_t10m_toosmall(i)=te_zref(i)<tpot(i).AND. &
    640          & te_zref(i)<ts1(i)
     640   te_zref(i)<ts1(i)
    641641         ok_t10m_toobig(i)=te_zref(i)>tpot(i).AND. &
    642          & te_zref(i)>ts1(i)
     642   te_zref(i)>ts1(i)
    643643         ok_q10m_toosmall(i)=q_zref(i)<q1(i).AND. &
    644          & q_zref(i)<qsurf(i)
     644   q_zref(i)<qsurf(i)
    645645         ok_q10m_toobig(i)=q_zref(i)>q1(i).AND. &
    646          & q_zref(i)>qsurf(i)
     646   q_zref(i)>qsurf(i)
    647647         ok_u10m_toobig(i)=u_zref(i)>speed(i)
    648648!
     
    658658!
    659659         IF(ok_t10m_toosmall(i).OR.ok_t10m_toobig(i).OR. &
    660           & ok_q10m_toosmall(i).OR.ok_q10m_toobig(i).OR. &
    661           & ok_u10m_toobig(i)) THEN
     660   ok_q10m_toosmall(i).OR.ok_q10m_toobig(i).OR. &
     661   ok_u10m_toobig(i)) THEN
    662662             delm_new(i)=min(max(delm_new(i),0.),1.)
    663663             delh_new(i)=min(max(delh_new(i),0.),1.)
     
    665665             u_zref_p(i) = u_zref(i)
    666666             q_zref(i) = delh_new(i)*max(q1(i),0.0) + &
    667          &               max(qsurf(i),0.0)*(1-delh_new(i))
     667                 max(qsurf(i),0.0)*(1-delh_new(i))
    668668             te_zref(i) = delh_new(i)*tpot(i) + ts1(i)*(1-delh_new(i))
    669669             temp(i) = te_zref(i) * (psol(i)/pref_new(i))**(-RKAPPA)
     
    678678        okri=.TRUE.
    679679        CALL screencn(klon, knon, nsrf, zxli, &
    680  &                   u_zref, temp, q_zref, zref, &
    681  &                   ts1, qsurf, z0m, z0h, psol, &
    682  &                   cdram, cdrah,  okri, &
    683  &                   ri1, 0, &
    684  &                   pref, delm, delh, ri10m, &
    685  &                   s_pblh, prain, tsol, pat1      )
     680                     u_zref, temp, q_zref, zref, &
     681                     ts1, qsurf, z0m, z0h, psol, &
     682                     cdram, cdrah,  okri, &
     683                     ri1, 0, &
     684                     pref, delm, delh, ri10m, &
     685                     s_pblh, prain, tsol, pat1      )
    686686!
    687687        DO i = 1, knon
    688688          u_zref(i) = delm(i)*speed(i)
    689689          q_zref(i) = delh(i)*max(q1(i),0.0) + &
    690           &           max(qsurf(i),0.0)*(1-delh(i))
     690             max(qsurf(i),0.0)*(1-delh(i))
    691691          te_zref(i) = delh(i)*tpot(i) + ts1(i)*(1-delh(i))
    692692!
     
    697697!
    698698          ok_t10m_toosmall(i)=te_zref(i)<tpot(i).AND. &
    699           & te_zref(i)<ts1(i)
     699   te_zref(i)<ts1(i)
    700700          ok_t10m_toobig(i)=te_zref(i)>tpot(i).AND. &
    701           & te_zref(i)>ts1(i)
     701   te_zref(i)>ts1(i)
    702702          ok_q10m_toosmall(i)=q_zref(i)<q1(i).AND. &
    703           & q_zref(i)<qsurf(i)
     703   q_zref(i)<qsurf(i)
    704704          ok_q10m_toobig(i)=q_zref(i)>q1(i).AND. &
    705           & q_zref(i)>qsurf(i)
     705   q_zref(i)>qsurf(i)
    706706          ok_u10m_toobig(i)=u_zref(i)>speed(i)
    707707!
     
    717717!
    718718          IF(ok_t10m_toosmall(i).OR.ok_t10m_toobig(i).OR. &
    719            & ok_q10m_toosmall(i).OR.ok_q10m_toobig(i).OR. &
    720            & ok_u10m_toobig(i)) THEN
     719   ok_q10m_toosmall(i).OR.ok_q10m_toobig(i).OR. &
     720   ok_u10m_toobig(i)) THEN
    721721              delm(i)=min(max(delm(i),0.),1.)
    722722              delh(i)=min(max(delh(i),0.),1.)
    723723              u_zref(i) = delm(i)*speed(i)
    724724              q_zref(i) = delh(i)*max(q1(i),0.0) + &
    725           &           max(qsurf(i),0.0)*(1-delh(i))
     725             max(qsurf(i),0.0)*(1-delh(i))
    726726              te_zref(i) = delh(i)*tpot(i) + ts1(i)*(1-delh(i))
    727727              temp(i) = te_zref(i) * (psol(i)/pref(i))**(-RKAPPA)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/sumethox.F90

    r2136 r5087  
    4646
    4747USE YOEMETH   , ONLY : RALPHA1 ,RALPHA2  ,RQLIM   ,&
    48  & RPBOTOX,  RPBOTPH ,RPTOPOX  ,RPTOPPH ,&
    49  & RALPHA3,  RLOGPPH 
     48   RPBOTOX,  RPBOTPH ,RPTOPOX  ,RPTOPPH ,&
     49   RALPHA3,  RLOGPPH
    5050
    5151!*       1.    SET VALUES
  • LMDZ6/branches/Amaury_dev/libf/phylmd/suphel.F90

    r4001 r5087  
    103103  WRITE (UNIT=6, FMT='('' ***        Radiation       ***'')')
    104104  WRITE (UNIT=6, FMT='('' Stefan-Bol.  = '',E13.7,'' W m-2 K-4'' &
    105     &                                                         &
    106            )') rsigma
     105
     106           )') rsigma
    107107  ! IM init. dans conf_phys.F90   WRITE(UNIT=6,FMT='('' Solar const. =
    108108  ! '',E13.7,'' W m-2'')')
  • LMDZ6/branches/Amaury_dev/libf/phylmd/surf_land_bucket_mod.F90

    r5082 r5087  
    130130          IF (iso_eau > 0) THEN
    131131            CALL iso_verif_egalite_choix(precip_snow(i), &
    132      &                                   xtprecip_snow(iso_eau,i),'surf_land_bucket 131', &
    133      &                                   errmax,errmaxrel)
     132                                     xtprecip_snow(iso_eau,i),'surf_land_bucket 131', &
     133                                     errmax,errmaxrel)
    134134            CALL iso_verif_egalite_choix(qsol(i), &
    135      &                                   xtsol(iso_eau,i),'surf_land_bucket 134', &
    136      &                                   errmax,errmaxrel)
     135                                     xtsol(iso_eau,i),'surf_land_bucket 134', &
     136                                     errmax,errmaxrel)
    137137          ENDIF
    138138        ENDDO
     
    171171    IF (soil_model) THEN
    172172       CALL soil(dtime, is_ter, knon, snow, tsurf, qsol,  &
    173         & longitude(knindex(1:knon)), latitude(knindex(1:knon)), tsoil, soilcap, soilflux)
     173   longitude(knindex(1:knon)), latitude(knindex(1:knon)), tsoil, soilcap, soilflux)
    174174
    175175       DO i=1, knon
     
    204204      IF (iso_eau > 0) THEN
    205205        CALL iso_verif_egalite_choix(xtsnow(iso_eau,i), &
    206      &           snow(i),'surf_land_bucket 522', &
    207      &           errmax,errmaxrel)
     206             snow(i),'surf_land_bucket 522', &
     207             errmax,errmaxrel)
    208208      ENDIF !IF (iso_eau > 0) then
    209209    ENDDO !DO i=1,knon
     
    229229      IF (iso_eau > 0) THEN
    230230        CALL iso_verif_egalite(qsol_prec(i),xtsol_prec(iso_eau,i), &
    231                                 'surf_land_bucket 141')
     231                                'surf_land_bucket 141')
    232232      ENDIF
    233233    ENDDO !DO i=1,knon
     
    241241         snow, qsol, tsurf_new, evap &
    242242#ifdef ISO   
    243      & ,fq_fonte_diag,fqfonte_diag,snow_evap_diag,fqcalving_diag   &
    244      & ,max_eau_sol_diag,runoff_diag,run_off_lic_diag,coeff_rel_diag   &
    245 #endif
    246      &   )
     243   ,fq_fonte_diag,fqfonte_diag,snow_evap_diag,fqcalving_diag   &
     244   ,max_eau_sol_diag,runoff_diag,run_off_lic_diag,coeff_rel_diag   &
     245#endif
     246     )
    247247
    248248#ifdef ISO
     
    259259          IF (iso_eau > 0) THEN
    260260            CALL iso_verif_egalite_choix(qsol_prec(i), &
    261      &                                   xtsol_prec(iso_eau,i),'surf_land_bucket 628', &
    262      &                                   errmax,errmaxrel)
     261                                     xtsol_prec(iso_eau,i),'surf_land_bucket 628', &
     262                                     errmax,errmaxrel)
    263263            CALL iso_verif_egalite_choix(precip_snow(i), &
    264      &                                   xtprecip_snow(iso_eau,i),'surf_land_bucket 227', &
    265      &                                   errmax,errmaxrel)
     264                                     xtprecip_snow(iso_eau,i),'surf_land_bucket 227', &
     265                                     errmax,errmaxrel)
    266266             ! attention, dans fonte_neige, on modifie snow sans modifier
    267267             ! xtsnow
     
    270270!            write(*,*) 'snow(i)=',snow(i)
    271271            CALL iso_verif_egalite_choix(xtsnow(iso_eau,i), &
    272      &                                   snow_prec(i),'surf_land_bucket 245', &
    273      &                                   errmax,errmaxrel)
     272                                     snow_prec(i),'surf_land_bucket 245', &
     273                                     errmax,errmaxrel)
    274274          ENDIF 
    275275          IF ((iso_O17 > 0).AND.(iso_O18 > 0)) THEN
    276276              IF (qsol_prec(i) > ridicule_qsol) THEN
    277277                CALL iso_verif_aberrant_o17(xtsol_prec(iso_O17,i)/qsol_prec(i) &
    278      &                                     ,xtsol_prec(iso_O18,i)/qsol_prec(i) &
    279      &                                     ,'surf_land_bucket 642')
     278                                       ,xtsol_prec(iso_O18,i)/qsol_prec(i) &
     279                                       ,'surf_land_bucket 642')
    280280              ENDIF !IF ((qsol_prec(i) > ridicule_qsol) &
    281281          ENDIF !IF ((iso_O17 > 0).AND.(iso_O18 > 0)) THEN
     
    285285#endif         
    286286        CALL calcul_iso_surf_ter_vectall(klon,knon, &
    287      &           evap,snow_evap_diag,snow, &
    288      &           fq_fonte_diag,fqfonte_diag,dtime,precip_rain,xtprecip_rain, &
    289      &           precip_snow,xtprecip_snow, snow_prec,xtsnow_prec, &
    290      &           tsurf_new,xtspechum,pref,spechum,t_coup,u1_lay,v1_lay,p1lay, &
    291      &           qsol,xtsol,qsol_prec,xtsol_prec, &
    292      &           max_eau_sol_diag, &
    293      &           xtevap,xtsnow,h1,runoff_diag,xtrunoff_diag,fqcalving_diag, &
    294      &           knindex,is_ter,run_off_lic_diag,coeff_rel_diag,Rland_ice &
    295      &   )
     287             evap,snow_evap_diag,snow, &
     288             fq_fonte_diag,fqfonte_diag,dtime,precip_rain,xtprecip_rain, &
     289             precip_snow,xtprecip_snow, snow_prec,xtsnow_prec, &
     290             tsurf_new,xtspechum,pref,spechum,t_coup,u1_lay,v1_lay,p1lay, &
     291             qsol,xtsol,qsol_prec,xtsol_prec, &
     292             max_eau_sol_diag, &
     293             xtevap,xtsnow,h1,runoff_diag,xtrunoff_diag,fqcalving_diag, &
     294             knindex,is_ter,run_off_lic_diag,coeff_rel_diag,Rland_ice &
     295     )
    296296!#ifdef ISOVERIF
    297297!        write(*,*) 'surf_land_bucket 303'
  • LMDZ6/branches/Amaury_dev/libf/phylmd/surf_land_mod.F90

    r5022 r5087  
    181181          if (iso_eau.gt.0) then
    182182            call iso_verif_egalite_choix(precip_snow(i), &
    183      &          xtprecip_snow(iso_eau,i),'surf_land_mod 129', &
    184      &          errmax,errmaxrel)
     183            xtprecip_snow(iso_eau,i),'surf_land_mod 129', &
     184            errmax,errmaxrel)
    185185            call iso_verif_egalite_choix(qsol(i), &
    186      &          xtsol(iso_eau,i),'surf_land_mod 139', &
    187      &          errmax,errmaxrel)
     186            xtsol(iso_eau,i),'surf_land_mod 139', &
     187            errmax,errmaxrel)
    188188          endif 
    189189        enddo
     
    254254        if (iso_eau.gt.0) then
    255255             call iso_verif_egalite_choix(xtevap(iso_eau,i),evap(i), &
    256               'surf_land 197',errmax,errmaxrel)
     256              'surf_land 197',errmax,errmaxrel)
    257257        endif !if (iso_eau.gt.0) then     
    258258      enddo !do i=1,knon 
     
    275275!       write(*,*) 'surf_land 247'
    276276        call iso_verif_egalite_vect1D( &
    277      &           xtsnow,snow,'surf_land_mod 207',niso,klon)
     277             xtsnow,snow,'surf_land_mod 207',niso,klon)
    278278#endif
    279279#endif
     
    295295            ,xtprecip_rain, xtprecip_snow,xtspechum, &
    296296            xtsnow, xtsol,xtevap,h1, &
    297      &      runoff_diag, xtrunoff_diag,Rland_ice &
     297        runoff_diag, xtrunoff_diag,Rland_ice &
    298298#endif           
    299      &       )
     299         )
    300300        z0h(1:knon)=z0m(1:knon) ! En attendant mieux
    301301
     
    326326        IF (iso_eau >= 0) THEN
    327327             call iso_verif_egalite_choix(xtsnow(iso_eau,i),snow(i), &
    328               'surf_land 241',errmax,errmaxrel)
     328              'surf_land 241',errmax,errmaxrel)
    329329        ENDIF !if (iso_eau.gt.0) then     
    330330      ENDDO !do i=1,knon 
     
    398398    DO i=1,knon
    399399      IF ((rlat(knindex(i)) >= lat_min_nudge_qsol).and. &
    400   &       (rlat(knindex(i)) <= lat_max_nudge_qsol).and. &
    401   &       (rlon(knindex(i)) >= lon_min_nudge_qsol).and. &
    402   &       (rlon(knindex(i)) <= lon_max_nudge_qsol)) THEN
     400         (rlat(knindex(i)) <= lat_max_nudge_qsol).and. &
     401         (rlon(knindex(i)) >= lon_min_nudge_qsol).and. &
     402         (rlon(knindex(i)) <= lon_max_nudge_qsol)) THEN
    403403!        write(*,*) 'surf_land 324: bon domaine: rlat,rlon,qsol=', &
    404404!  &             rlat(knindex(i)),rlon(knindex(i)),qsol(knindex(i))
  • LMDZ6/branches/Amaury_dev/libf/phylmd/surf_landice_mod.F90

    r5082 r5087  
    2525       flux_u1, flux_v1 &
    2626#ifdef ISO
    27          &      ,xtprecip_rain, xtprecip_snow,xtspechum,Rland_ice &
    28          &      ,xtsnow,xtsol,xtevap &
     27        ,xtprecip_rain, xtprecip_snow,xtspechum,Rland_ice &
     28        ,xtsnow,xtsol,xtevap &
    2929#endif               
    30            &    )
     30      )
    3131
    3232    USE dimphy
     
    216216    IF (iso_eau > 0) THEN
    217217      CALL iso_verif_egalite_choix(xtsnow(iso_eau,i),snow(i), &
    218                                 'surf_land_ice 126',errmax,errmaxrel)
     218                                'surf_land_ice 126',errmax,errmaxrel)
    219219    ENDIF !IF (iso_eau > 0) THEN     
    220220  ENDDO !DO i=1,knon 
     
    357357    IF (soil_model) THEN
    358358       CALL soil(dtime, is_lic, knon, snow, tsurf, qsol, &
    359         & longitude(knindex(1:knon)), latitude(knindex(1:knon)), tsoil, soilcap, soilflux)
     359   longitude(knindex(1:knon)), latitude(knindex(1:knon)), tsoil, soilcap, soilflux)
    360360       cal(1:knon) = RCPD / soilcap(1:knon)
    361361       radsol(1:knon)  = radsol(1:knon) + soilflux(1:knon)
     
    393393         IF (snow(i) > ridicule) THEN
    394394           CALL iso_verif_egalite_choix(xtsnow(iso_eau,i),snow(i), &
    395                                      'surf_land_ice 1151',errmax,errmaxrel)
     395                                     'surf_land_ice 1151',errmax,errmaxrel)
    396396         ENDIF !IF ((snow(i) > ridicule)) THEN
    397397       ENDIF !IF (iso_eau > 0) THEN
     
    614614         snow, qsol, tsurf_new, evap_totsnow &
    615615#ifdef ISO   
    616      &  ,fq_fonte_diag,fqfonte_diag,snow_evap_diag,fqcalving_diag     &
    617      &  ,max_eau_sol_diag,runoff_diag,run_off_lic_diag,coeff_rel_diag &
    618 #endif
    619      &   )
     616    ,fq_fonte_diag,fqfonte_diag,snow_evap_diag,fqcalving_diag     &
     617    ,max_eau_sol_diag,runoff_diag,run_off_lic_diag,coeff_rel_diag &
     618#endif
     619     )
    620620
    621621
     
    625625      IF (iso_eau > 0) THEN 
    626626        CALL iso_verif_egalite_choix(Rland_ice(iso_eau,i),1.0, &
    627      &                               'surf_landice_mod 217',errmax,errmaxrel)
     627                                 'surf_landice_mod 217',errmax,errmaxrel)
    628628      ENDIF !IF (iso_eau > 0) THEN
    629629    ENDDO !DO i=1,knon
     
    631631
    632632    CALL calcul_iso_surf_lic_vectall(klon,knon, &
    633      &    evap,snow_evap_diag,Tsurf_new,snow, &
    634      &    fq_fonte_diag,fqfonte_diag,dtime,t_coup, &
    635      &    precip_snow,xtprecip_snow,precip_rain,xtprecip_rain, snow_prec,xtsnow_prec, &
    636      &    xtspechum,spechum,ps,Rland_ice, &
    637      &    xtevap,xtsnow,fqcalving_diag, &
    638      &    knindex,is_lic,run_off_lic_diag,coeff_rel_diag &
    639      &   )
     633      evap,snow_evap_diag,Tsurf_new,snow, &
     634      fq_fonte_diag,fqfonte_diag,dtime,t_coup, &
     635      precip_snow,xtprecip_snow,precip_rain,xtprecip_rain, snow_prec,xtsnow_prec, &
     636      xtspechum,spechum,ps,Rland_ice, &
     637      xtevap,xtsnow,fqcalving_diag, &
     638      knindex,is_lic,run_off_lic_diag,coeff_rel_diag &
     639     )
    640640
    641641!        call fonte_neige_export_xtrun_off_lic_0(knon,xtrun_off_lic_0_diag)
  • LMDZ6/branches/Amaury_dev/libf/phylmd/surf_ocean_mod.F90

    r5082 r5087  
    2323       dt_ds, tkt, tks, taur, sss &
    2424#ifdef ISO
    25         &      ,xtprecip_rain, xtprecip_snow,xtspechum,Roce, &
    26         &      xtsnow,xtevap,h1 &
     25        ,xtprecip_rain, xtprecip_snow,xtspechum,Roce, &
     26        xtsnow,xtevap,h1 &
    2727#endif               
    28         &      )
     28        )
    2929
    3030    use albedo, only: alboc, alboc_cd
     
    184184      IF (iso_eau > 0) THEN         
    185185        CALL iso_verif_egalite_choix(xtspechum(iso_eau,i), &
    186      &          spechum(i),'surf_ocean_mod 117', &
    187      &          errmax,errmaxrel)         
     186            spechum(i),'surf_ocean_mod 117', &
     187            errmax,errmaxrel)
    188188        CALL iso_verif_egalite_choix(xtsnow(iso_eau,i), &
    189      &          snow(i),'surf_ocean_mod 127', &
    190      &          errmax,errmaxrel)
     189            snow(i),'surf_ocean_mod 127', &
     190            errmax,errmaxrel)
    191191      ENDIF !IF (iso_eau > 0) then
    192192    ENDDO !DO i=1,klon
  • LMDZ6/branches/Amaury_dev/libf/phylmd/surf_seaice_mod.F90

    r5022 r5087  
    2323       flux_u1, flux_v1 &
    2424#ifdef ISO
    25          &      ,xtprecip_rain, xtprecip_snow,xtspechum,Roce, &
    26          &      xtsnow,xtsol,xtevap,Rland_ice &
     25        ,xtprecip_rain, xtprecip_snow,xtspechum,Roce, &
     26        xtsnow,xtsol,xtevap,Rland_ice &
    2727#endif               
    28          &      )
     28        )
    2929
    3030  USE dimphy
  • LMDZ6/branches/Amaury_dev/libf/phylmd/yamada4.F90

    r5082 r5087  
    393393         tkeprov=q2(ig,k)/ydeux
    394394         tkeprov= tkeprov*                           &
    395            &  (tkeprov+dt*(shear(ig,k)+max(0.,buoy(ig,k))))/ &
    396            &  (tkeprov+dt*((-1.)*min(0.,buoy(ig,k))+dissip(ig,k)+drgpro(ig,k)*tkeprov))
     395    (tkeprov+dt*(shear(ig,k)+max(0.,buoy(ig,k))))/ &
     396    (tkeprov+dt*((-1.)*min(0.,buoy(ig,k))+dissip(ig,k)+drgpro(ig,k)*tkeprov))
    397397         q2(ig,k)=tkeprov*ydeux
    398398        ENDDO
     
    430430         tkeprov= tkeprov+dt*(shear(ig,k)+max(0.,buoy(ig,k)))
    431431         tkeprov= tkeprov*                           &
    432            &  tkeprov/ &
    433            &  (tkeprov+dt*((-1.)*min(0.,buoy(ig,k))+dissip(ig,k)))
     432    tkeprov/ &
     433    (tkeprov+dt*((-1.)*min(0.,buoy(ig,k))+dissip(ig,k)))
    434434         q2(ig,k)=tkeprov*ydeux
    435435         ! En cas stable, on traite la flotabilite comme la
     
    453453         winds(ig,k)=sqrt(u(ig,k)**2+v(ig,k)**2)
    454454         tkeprov= (shear(ig,k)+ &
    455           & drgpro(ig,k)*(winds(ig,k))**3)*tkeprov/disseff*(1.-tkeexp)+tkeprov*tkeexp
     455   drgpro(ig,k)*(winds(ig,k))**3)*tkeprov/disseff*(1.-tkeexp)+tkeprov*tkeexp
    456456         q2(ig,k)=tkeprov*ydeux
    457457         ! En cas stable, on traite la flotabilite comme la
  • LMDZ6/branches/Amaury_dev/libf/phylmd/yamada_c.F90

    r5082 r5087  
    33!
    44      SUBROUTINE yamada_c(ngrid,timestep,plev,play &
    5      &   ,pu,pv,pt,d_u,d_v,d_t,cd,q2,km,kn,kq,d_t_diss,ustar &
    6      &   ,iflag_pbl)
     5     ,pu,pv,pt,d_u,d_v,d_t,cd,q2,km,kn,kq,d_t_diss,ustar &
     6     ,iflag_pbl)
    77      USE dimphy, ONLY: klon, klev
    88      USE print_control_mod, ONLY: prt_level
     
    129129      fsm(ri)=1.96*(0.1912-ri)*(0.2341-ri)/((1.-ri)*(0.2231-ri))
    130130      fl(zzz,zl0,zq2,zn2)= &
    131      &     max(min(l0(ig)*kap*zlev(ig,k)/(kap*zlev(ig,k)+l0(ig)) &
    132      &     ,0.5*sqrt(q2(ig,k))/sqrt(max(n2(ig,k),1.e-10))) ,1.)
     131       max(min(l0(ig)*kap*zlev(ig,k)/(kap*zlev(ig,k)+l0(ig)) &
     132       ,0.5*sqrt(q2(ig,k))/sqrt(max(n2(ig,k),1.e-10))) ,1.)
    133133
    134134
     
    242242                                                      DO ig=1,ngrid
    243243            zlev(ig,nlev)=zlay(ig,nlay) &
    244      &             +( zlay(ig,nlay) - zlev(ig,nlev-1) )
     244               +( zlay(ig,nlay) - zlev(ig,nlev-1) )
    245245                                                      ENDDO
    246246!!!!!! <----
Note: See TracChangeset for help on using the changeset viewer.