Changeset 2580


Ignore:
Timestamp:
Nov 4, 2021, 4:09:12 PM (3 years ago)
Author:
slebonnois
Message:

SL: Version used for VCD 1.1 (tuneupperatm => key+photochemistry, nirco2abs) add prod and loss from photochem new nonorographic routine (not used for VCD 1.1) update of deftank files

Location:
trunk/LMDZ.VENUS
Files:
1 added
19 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.VENUS/deftank/context_lmdz_physics-78niv.xml

    r2560 r2580  
    7979                   long_name="IR rad. at surface"
    8080                   unit="W/m2" />
     81            <field id="col_co2"
     82                   long_name="Column density of CO2"
     83                   unit="kg/m2" />
     84            <field id="col_co"
     85                   long_name="Column density of CO"
     86                   unit="kg/m2" />
     87            <field id="col_h2"
     88                   long_name="Column density of H2"
     89                   unit="kg/m2" />
     90            <field id="col_h2o"
     91                   long_name="Column density of H2O"
     92                   unit="kg/m2" />
     93            <field id="col_o1d"
     94                   long_name="Column density of O(1D)"
     95                   unit="kg/m2" />
     96            <field id="col_o"
     97                   long_name="Column density of O"
     98                   unit="kg/m2" />
     99            <field id="col_o2"
     100                   long_name="Column density of O2"
     101                   unit="kg/m2" />
     102            <field id="col_o2dg"
     103                   long_name="Column density of O2(DG)"
     104                   unit="kg/m2" />
     105            <field id="col_o3"
     106                   long_name="Column density of O3"
     107                   unit="kg/m2" />
     108            <field id="col_h"
     109                   long_name="Column density of H"
     110                   unit="kg/m2" />
     111            <field id="col_oh"
     112                   long_name="Column density of OH"
     113                   unit="kg/m2" />
     114            <field id="col_ho2"
     115                   long_name="Column density of HO2"
     116                   unit="kg/m2" />
     117            <field id="col_h2o2"
     118                   long_name="Column density of H2O2"
     119                   unit="kg/m2" />
     120            <field id="col_cl"
     121                   long_name="Column density of Cl"
     122                   unit="kg/m2" />
     123            <field id="col_clo"
     124                   long_name="Column density of ClO"
     125                   unit="kg/m2" />
     126            <field id="col_cl2"
     127                   long_name="Column density of Cl2"
     128                   unit="kg/m2" />
     129            <field id="col_hcl"
     130                   long_name="Column density of HCl"
     131                   unit="kg/m2" />
     132            <field id="col_hocl"
     133                   long_name="Column density of HOCl"
     134                   unit="kg/m2" />
     135            <field id="col_clco"
     136                   long_name="Column density of ClCO"
     137                   unit="kg/m2" />
     138            <field id="col_clco3"
     139                   long_name="Column density of ClCO3"
     140                   unit="kg/m2" />
     141            <field id="col_cocl2"
     142                   long_name="Column density of COCl2"
     143                   unit="kg/m2" />
     144            <field id="col_s"
     145                   long_name="Column density of S"
     146                   unit="kg/m2" />
     147            <field id="col_so"
     148                   long_name="Column density of SO"
     149                   unit="kg/m2" />
     150            <field id="col_so2"
     151                   long_name="Column density of SO2"
     152                   unit="kg/m2" />
     153            <field id="col_so3"
     154                   long_name="Column density of SO3"
     155                   unit="kg/m2" />
     156            <field id="col_s2o2"
     157                   long_name="Column density of S2O2"
     158                   unit="kg/m2" />
     159            <field id="col_ocs"
     160                   long_name="Column density of OCS"
     161                   unit="kg/m2" />
     162            <field id="col_hso3"
     163                   long_name="Column density of HSO3"
     164                   unit="kg/m2" />
     165            <field id="col_h2so4"
     166                   long_name="Column density of H2SO4"
     167                   unit="kg/m2" />
     168            <field id="col_s2"
     169                   long_name="Column density of S2"
     170                   unit="kg/m2" />
     171            <field id="col_clso2"
     172                   long_name="Column density of ClSO2"
     173                   unit="kg/m2" />
     174            <field id="col_oscl"
     175                   long_name="Column density of OSCl"
     176                   unit="kg/m2" />
     177            <field id="col_n2"
     178                   long_name="Column density of N2"
     179                   unit="kg/m2" />
     180            <field id="col_he"
     181                   long_name="Column density of He"
     182                   unit="kg/m2" />
    81183        </field_group>
    82184
     
    101203                   long_name="Vertical wind"
    102204                   unit="Pa/s" />
    103            <field id="vitwz"
     205            <field id="vitwz"
    104206                   long_name="Vertical wind (m/s)"
    105207                   unit="m/s" />
  • trunk/LMDZ.VENUS/deftank/context_lmdz_physics-notrac.xml

    r2560 r2580  
    7979                   long_name="IR rad. at surface"
    8080                   unit="W/m2" />
     81            <field id="col_co2"
     82                   long_name="Column density of CO2"
     83                   unit="kg/m2" />
     84            <field id="col_co"
     85                   long_name="Column density of CO"
     86                   unit="kg/m2" />
     87            <field id="col_h2"
     88                   long_name="Column density of H2"
     89                   unit="kg/m2" />
     90            <field id="col_h2o"
     91                   long_name="Column density of H2O"
     92                   unit="kg/m2" />
     93            <field id="col_o1d"
     94                   long_name="Column density of O(1D)"
     95                   unit="kg/m2" />
     96            <field id="col_o"
     97                   long_name="Column density of O"
     98                   unit="kg/m2" />
     99            <field id="col_o2"
     100                   long_name="Column density of O2"
     101                   unit="kg/m2" />
     102            <field id="col_o2dg"
     103                   long_name="Column density of O2(DG)"
     104                   unit="kg/m2" />
     105            <field id="col_o3"
     106                   long_name="Column density of O3"
     107                   unit="kg/m2" />
     108            <field id="col_h"
     109                   long_name="Column density of H"
     110                   unit="kg/m2" />
     111            <field id="col_oh"
     112                   long_name="Column density of OH"
     113                   unit="kg/m2" />
     114            <field id="col_ho2"
     115                   long_name="Column density of HO2"
     116                   unit="kg/m2" />
     117            <field id="col_h2o2"
     118                   long_name="Column density of H2O2"
     119                   unit="kg/m2" />
     120            <field id="col_cl"
     121                   long_name="Column density of Cl"
     122                   unit="kg/m2" />
     123            <field id="col_clo"
     124                   long_name="Column density of ClO"
     125                   unit="kg/m2" />
     126            <field id="col_cl2"
     127                   long_name="Column density of Cl2"
     128                   unit="kg/m2" />
     129            <field id="col_hcl"
     130                   long_name="Column density of HCl"
     131                   unit="kg/m2" />
     132            <field id="col_hocl"
     133                   long_name="Column density of HOCl"
     134                   unit="kg/m2" />
     135            <field id="col_clco"
     136                   long_name="Column density of ClCO"
     137                   unit="kg/m2" />
     138            <field id="col_clco3"
     139                   long_name="Column density of ClCO3"
     140                   unit="kg/m2" />
     141            <field id="col_cocl2"
     142                   long_name="Column density of COCl2"
     143                   unit="kg/m2" />
     144            <field id="col_s"
     145                   long_name="Column density of S"
     146                   unit="kg/m2" />
     147            <field id="col_so"
     148                   long_name="Column density of SO"
     149                   unit="kg/m2" />
     150            <field id="col_so2"
     151                   long_name="Column density of SO2"
     152                   unit="kg/m2" />
     153            <field id="col_so3"
     154                   long_name="Column density of SO3"
     155                   unit="kg/m2" />
     156            <field id="col_s2o2"
     157                   long_name="Column density of S2O2"
     158                   unit="kg/m2" />
     159            <field id="col_ocs"
     160                   long_name="Column density of OCS"
     161                   unit="kg/m2" />
     162            <field id="col_hso3"
     163                   long_name="Column density of HSO3"
     164                   unit="kg/m2" />
     165            <field id="col_h2so4"
     166                   long_name="Column density of H2SO4"
     167                   unit="kg/m2" />
     168            <field id="col_s2"
     169                   long_name="Column density of S2"
     170                   unit="kg/m2" />
     171            <field id="col_clso2"
     172                   long_name="Column density of ClSO2"
     173                   unit="kg/m2" />
     174            <field id="col_oscl"
     175                   long_name="Column density of OSCl"
     176                   unit="kg/m2" />
     177            <field id="col_n2"
     178                   long_name="Column density of N2"
     179                   unit="kg/m2" />
     180            <field id="col_he"
     181                   long_name="Column density of He"
     182                   unit="kg/m2" />
    81183        </field_group>
    82184
     
    101203                   long_name="Vertical wind"
    102204                   unit="Pa/s" />
    103            <field id="vitwz"
     205            <field id="vitwz"
    104206                   long_name="Vertical wind (m/s)"
    105207                   unit="m/s" />
  • trunk/LMDZ.VENUS/deftank/context_lmdz_physics.xml

    r2560 r2580  
    7979                   long_name="IR rad. at surface"
    8080                   unit="W/m2" />
     81            <field id="col_co2"
     82                   long_name="Column density of CO2"
     83                   unit="kg/m2" />
     84            <field id="col_co"
     85                   long_name="Column density of CO"
     86                   unit="kg/m2" />
     87            <field id="col_h2"
     88                   long_name="Column density of H2"
     89                   unit="kg/m2" />
     90            <field id="col_h2o"
     91                   long_name="Column density of H2O"
     92                   unit="kg/m2" />
     93            <field id="col_o1d"
     94                   long_name="Column density of O(1D)"
     95                   unit="kg/m2" />
     96            <field id="col_o"
     97                   long_name="Column density of O"
     98                   unit="kg/m2" />
     99            <field id="col_o2"
     100                   long_name="Column density of O2"
     101                   unit="kg/m2" />
     102            <field id="col_o2dg"
     103                   long_name="Column density of O2(DG)"
     104                   unit="kg/m2" />
     105            <field id="col_o3"
     106                   long_name="Column density of O3"
     107                   unit="kg/m2" />
     108            <field id="col_h"
     109                   long_name="Column density of H"
     110                   unit="kg/m2" />
     111            <field id="col_oh"
     112                   long_name="Column density of OH"
     113                   unit="kg/m2" />
     114            <field id="col_ho2"
     115                   long_name="Column density of HO2"
     116                   unit="kg/m2" />
     117            <field id="col_h2o2"
     118                   long_name="Column density of H2O2"
     119                   unit="kg/m2" />
     120            <field id="col_cl"
     121                   long_name="Column density of Cl"
     122                   unit="kg/m2" />
     123            <field id="col_clo"
     124                   long_name="Column density of ClO"
     125                   unit="kg/m2" />
     126            <field id="col_cl2"
     127                   long_name="Column density of Cl2"
     128                   unit="kg/m2" />
     129            <field id="col_hcl"
     130                   long_name="Column density of HCl"
     131                   unit="kg/m2" />
     132            <field id="col_hocl"
     133                   long_name="Column density of HOCl"
     134                   unit="kg/m2" />
     135            <field id="col_clco"
     136                   long_name="Column density of ClCO"
     137                   unit="kg/m2" />
     138            <field id="col_clco3"
     139                   long_name="Column density of ClCO3"
     140                   unit="kg/m2" />
     141            <field id="col_cocl2"
     142                   long_name="Column density of COCl2"
     143                   unit="kg/m2" />
     144            <field id="col_s"
     145                   long_name="Column density of S"
     146                   unit="kg/m2" />
     147            <field id="col_so"
     148                   long_name="Column density of SO"
     149                   unit="kg/m2" />
     150            <field id="col_so2"
     151                   long_name="Column density of SO2"
     152                   unit="kg/m2" />
     153            <field id="col_so3"
     154                   long_name="Column density of SO3"
     155                   unit="kg/m2" />
     156            <field id="col_s2o2"
     157                   long_name="Column density of S2O2"
     158                   unit="kg/m2" />
     159            <field id="col_ocs"
     160                   long_name="Column density of OCS"
     161                   unit="kg/m2" />
     162            <field id="col_hso3"
     163                   long_name="Column density of HSO3"
     164                   unit="kg/m2" />
     165            <field id="col_h2so4"
     166                   long_name="Column density of H2SO4"
     167                   unit="kg/m2" />
     168            <field id="col_s2"
     169                   long_name="Column density of S2"
     170                   unit="kg/m2" />
     171            <field id="col_clso2"
     172                   long_name="Column density of ClSO2"
     173                   unit="kg/m2" />
     174            <field id="col_oscl"
     175                   long_name="Column density of OSCl"
     176                   unit="kg/m2" />
     177            <field id="col_n2"
     178                   long_name="Column density of N2"
     179                   unit="kg/m2" />
     180            <field id="col_he"
     181                   long_name="Column density of He"
     182                   unit="kg/m2" />
    81183        </field_group>
    82184
     
    101203                   long_name="Vertical wind"
    102204                   unit="Pa/s" />
    103            <field id="vitwz"
     205            <field id="vitwz"
    104206                   long_name="Vertical wind (m/s)"
    105207                   unit="m/s" />
  • trunk/LMDZ.VENUS/deftank/physiq-96x96x50-chemistry.def

    r2560 r2580  
    9797## Thermospheric options
    9898##~~~~~~~~~~~~~~~~~~~~~~
     99## Tuning of photochemistry for oxygen production ?
     100tuneupperatm = n
     101
    99102#Method to include solar variability?
    100103#0-> Old method   1-> Variability with E10.7 as observed
    101104solvarmod=0
    102105
    103 ## (Solar min=1996.4 ave=1993.4 max=1990.6) ; Only used if solvarmod=0
    104 solarcondate = 1993.4
     106## (Solar min=70 ave=140 max=300)
     107fixed_euv_value = 140.
    105108
    106109# value for the UV heating efficiency
    107110##(experimental values between 0.19 and 0.23, lower values may
    108111## be used to compensate for low 15 um cooling)
    109 euveff = 0.21       
     112euveff = 0.20       
    110113#
    111114#
  • trunk/LMDZ.VENUS/deftank/physiq-96x96x50-notrac.def

    r2560 r2580  
    9797## Thermospheric options
    9898##~~~~~~~~~~~~~~~~~~~~~~
     99## Tuning of photochemistry for oxygen production ?
     100tuneupperatm = n
     101
    99102#Method to include solar variability?
    100103#0-> Old method   1-> Variability with E10.7 as observed
    101104solvarmod=0
    102105
    103 ## (Solar min=1996.4 ave=1993.4 max=1990.6) ; Only used if solvarmod=0
    104 solarcondate = 1993.4
     106## (Solar min=70 ave=140 max=300)
     107fixed_euv_value = 140.
    105108
    106109# value for the UV heating efficiency
    107110##(experimental values between 0.19 and 0.23, lower values may
    108111## be used to compensate for low 15 um cooling)
    109 euveff = 0.21       
     112euveff = 0.20       
    110113#
    111114#
  • trunk/LMDZ.VENUS/deftank/physiq-96x96x78-chemistry.def

    r2560 r2580  
    9191callnirco2=y
    9292##CO2 IR Absorption model
    93 nircorr=1
     93nircorr=0
    9494##include thermosphere or not
    9595callthermos=y
     
    9797## Thermospheric options
    9898##~~~~~~~~~~~~~~~~~~~~~~
     99## Tuning of photochemistry for oxygen production ?
     100tuneupperatm = y
     101
    99102#Method to include solar variability?
    100103#0-> Old method   1-> Variability with E10.7 as observed
    101104solvarmod=0
    102105
    103 ## (Solar min=80 ave=140 max=300)
     106## (Solar min=70 ave=140 max=300)
    104107fixed_euv_value = 140.
    105108
  • trunk/LMDZ.VENUS/deftank/physiq-96x96x90-chemistry.def

    r2560 r2580  
    9191callnirco2=y
    9292##CO2 IR Absorption model
    93 nircorr=1
     93nircorr=0
    9494##include thermosphere or not
    9595callthermos=y
     
    9797## Thermospheric options
    9898##~~~~~~~~~~~~~~~~~~~~~~
     99## Tuning of photochemistry for oxygen production ?
     100tuneupperatm = y
     101
    99102#Method to include solar variability?
    100103#0-> Old method   1-> Variability with E10.7 as observed
    101104solvarmod=0
    102105
    103 ## (Solar min=80 ave=140 max=300)
     106## (Solar min=70 ave=140 max=300)
    104107fixed_euv_value = 140.
    105108
     
    107110##(experimental values between 0.19 and 0.23, lower values may
    108111## be used to compensate for low 15 um cooling)
    109 euveff = 0.21       
     112euveff = 0.20       
    110113#
    111114#
  • trunk/LMDZ.VENUS/deftank/physiq.def

    r2560 r2580  
    9797## Thermospheric options
    9898##~~~~~~~~~~~~~~~~~~~~~~
     99## Tuning of photochemistry for oxygen production ?
     100tuneupperatm = n
     101
    99102#Method to include solar variability?
    100103#0-> Old method   1-> Variability with E10.7 as observed
    101104solvarmod=0
    102105
    103 ## (Solar min=1996.4 ave=1993.4 max=1990.6) ; Only used if solvarmod=0
    104 solarcondate = 1993.4
     106## (Solar min=70 ave=140 max=300)
     107fixed_euv_value = 140.
    105108
    106109# value for the UV heating efficiency
    107110##(experimental values between 0.19 and 0.23, lower values may
    108111## be used to compensate for low 15 um cooling)
    109 euveff = 0.21       
     112euveff = 0.20       
    110113#
    111114#
  • trunk/LMDZ.VENUS/libf/phyvenus/blendrad.F

    r1530 r2580  
    3636      integer l, ig
    3737      real alpha, alpha2
    38       real, parameter :: p_lowup = 10.e2
     38      real, parameter :: p_lowup = 1.e3
    3939
    4040c
  • trunk/LMDZ.VENUS/libf/phyvenus/clesphys.h

    r2560 r2580  
    1010       LOGICAL cycle_diurne,soil_model
    1111       LOGICAL ok_orodr,ok_orolf,ok_gw_nonoro
    12        LOGICAL ok_kzmin
     12       LOGICAL ok_kzmin,tuneupperatm
    1313       LOGICAL callnlte,callnirco2,callthermos
    1414       LOGICAL ok_cloud, ok_chem, reinit_trac, ok_sedim
     
    2727       COMMON/clesphys_l/ cycle_diurne, soil_model,                     &
    2828     &     ok_orodr, ok_orolf, ok_gw_nonoro, ok_kzmin,                  &
    29      &     callnlte,callnirco2,callthermos,                             &
     29     &     tuneupperatm,callnlte,callnirco2,callthermos,                &
    3030     &     ok_cloud, ok_chem, reinit_trac, ok_sedim,                    &
    3131     &     ok_clmain, physideal, startphy_file
  • trunk/LMDZ.VENUS/libf/phyvenus/conf_phys.F90

    r2560 r2580  
    472472!Config Key  = euveff
    473473!Config Desc =
    474 !Config Def  = 0.21
    475 !Config Help =
    476 !
    477   euveff = 0.21
     474!Config Def  = 0.22
     475!Config Help =
     476!
     477  euveff = 0.22
    478478  call getin('euveff',euveff)
     479
     480!Config Key  = tuneupperatm
     481!Config Desc =
     482!Config Def  = .false.
     483!Config Help =
     484!
     485  tuneupperatm = .false.
     486  call getin('tuneupperatm',tuneupperatm)
    479487
    480488!
     
    538546  write(lunout,*)' fixed_euv_value = ',fixed_euv_value
    539547  write(lunout,*)' euveff = ',euveff
     548  write(lunout,*)' tuneupperatm = ',tuneupperatm
    540549
    541550  end subroutine conf_phys
  • trunk/LMDZ.VENUS/libf/phyvenus/nirco2abs.F

    r2464 r2580  
    8888      real ztim1,ztim2,ztim3,step
    8989
     90      logical onepeak
     91      parameter (onepeak=.false.)
     92c     parameter (onepeak=.true.)
    9093c
    9194c   local saved variables
     
    9598      integer,save :: io=0 ! index of "o" tracer
    9699
     100ccc=================================================
    97101cccc     parameters for CO2 heating fit
    98 c
     102ccc=================================================
     103
     104c--------------------------------------------------
     105c One-peak martian-type fit => Gabriella (2014+)
     106c--------------------------------------------------
    99107c     n_a  =  heating rate for Venusian day at p0, r0, mu =0 [K day-1]
    100108c     Here p0 = p_cloud top [Pa]
     
    104112      real n_a, n_p0, n_b, p_ctop
    105113
    106    
    107 cc "Nominal" values used in Gilli+2'17
     114cc "Nominal" values used in Gilli+2017
    108115c       parameter (n_a = 18.13/86400.0)     !c     K/Eday  ---> K/sec   
    109116c       parameter (p_ctop=13.2e2)
     
    111118
    112119cc "New" values used to improve SPICAV/SOIR Temperature comparision (D.Quirino)
     120cc Gilli+2021
    113121       parameter (n_a = 15.92/86400.0)     !c     K/Eday  ---> K/sec   
    114122       parameter (p_ctop=19.85e2)
     
    119127C       parameter (n_p0=0.01) 
    120128c       parameter (n_b = 1.3)
    121    
     129
     130c--------------------------------------------------
     131c Multi-peaks Roldan-type fit => Laura (2013)
     132c New paramaters (Param9*0.5) => Enora (2021)
     133c--------------------------------------------------
     134c ENORA FINE TUNING used for VCD 1.1
     135c  (fit to fig 12 Roldan-2000)
     136      real n_coFB, n_aFB, n_bFB, n_p0FB, n_eFB
     137      real n_coISO, n_aISO, n_bISO, n_p0ISO, n_eISO
     138      real n_coFH, n_aFH, n_bFH, n_p0FH, n_eFH
     139      real n_co43, n_a43, n_b43, n_p043, n_e43
     140      real n_co43b, n_a43b, n_b43b, n_p043b, n_e43b
     141      real n_conir, n_anir, n_bnir, n_p0nir, n_enir
     142
     143      parameter (n_coFB=119./86400.0)      !c     K/Eday ---> K/sec
     144      parameter (n_aFB=0.185)
     145      parameter (n_bFB=3.7)
     146      parameter (n_p0FB=2.9e-4)
     147      parameter (n_eFB=0.76)
     148
     149      parameter (n_coISO=265./86400.0)      !c     K/Eday ---> K/sec
     150      parameter (n_aISO=0.313)
     151      parameter (n_bISO=1.65)
     152      parameter (n_p0ISO=0.076)
     153      parameter (n_eISO=0.99)
     154
     155      parameter (n_coFH=2.5/86400.0)      !c     K/Eday ---> K/sec
     156      parameter (n_aFH=3.98)
     157      parameter (n_bFH=2.9)
     158      parameter (n_p0FH=0.17)
     159      parameter (n_eFH=2.16)
     160
     161      parameter (n_co43=55./86400.0)      !c     K/Eday ---> K/sec
     162      parameter (n_a43=0.625)
     163      parameter (n_b43=2.6)
     164      parameter (n_p043=0.043)
     165      parameter (n_e43=1.654)
     166
     167!     parameter (n_co43b=100./86400.0)      !c     K/Eday ---> K/sec
     168! => fine tuning: not affected by the *0.5 below (see ENORA FINE TUNING)
     169      parameter (n_co43b=200./86400.0)      !c     K/Eday ---> K/sec
     170      parameter (n_a43b=5.5)
     171      parameter (n_b43b=2.3)
     172      parameter (n_p043b=1.)
     173      parameter (n_e43b=0.4)
     174
     175      parameter (n_conir=6.5/86400.0)      !c     K/Eday ---> K/sec
     176      parameter (n_anir=35.65)
     177      parameter (n_bnir=2.1)
     178      parameter (n_p0nir=0.046)
     179      parameter (n_enir=0.9)
     180
     181      real :: picFB(nlon,nlev), picISO(nlon,nlev), picFH(nlon,nlev)
     182      real :: pic43(nlon,nlev), pic43b(nlon,nlev), picnir(nlon,nlev)
     183
     184ccc=================================================
    122185
    123186c     Variables added to implement NLTE correction factor (feb 2011)
     
    126189      real    p2011,cociente1,merge
    127190      real    cor0,oco2gcm
    128 !!!!
    129 c      real :: pic27(nlon,nlev), pic27b(nlon,nlev)
    130 c      real :: pic43(nlon,nlev), picnir(nlon,nlev)
    131 
    132 c     co2heat is the heating by CO2 at p_ctop=13.2e2 for a zero zenithal angle.
    133 
    134       co2heat0=n_a*(0.72/dist_sol)**2     
    135 
    136 CCCCCC   TEST: reduce by X% nir Heating
    137 c      co2heat0  = co2heat0 * 0.8
    138 
    139 c----------------------------------------------------------------------
    140      
     191
     192c---------------------------------------------------------------------- 
    141193c     Initialisation
    142194c     --------------
     
    159211        firstcall=.false.
    160212      endif
    161 
    162      
     213c     --------------
     214c     co2heat0 is correction for dist_sol (is 1 for Venus)
     215      co2heat0=(0.7233/dist_sol)**2
     216
     217      pdtnirco2(:,:)=0.
     218c---------------------------------------------------------------------- 
     219
    163220c     
    164221c     Simple calcul for a given sun incident angle (if cycle_diurne=T)
     
    170227            zmu(ig)=sqrt(1224.*mu0(ig)*mu0(ig)+1.)/35.
    171228
    172            
     229c---------------------------
     230           if (onepeak) then
     231c---------------------------
    173232            if(nircorr.eq.1) then
    174233               do l=1,nlev
    175234                  pyy(l)=nplay(ig,l)
    176235               enddo
    177 
    178236               call interpnir(cor1,pyy,nlev,corgcm,pres1d,npres)
    179237               call interpnir(oldoco2,pyy,nlev,oco21d,pres1d,npres)
    180238               call interpnir(alfa2,pyy,nlev,alfa,pres1d,npres)
    181                
    182239            endif
    183 
    184240            do l=1,nlev
    185      
    186241c           Calculations for the O/CO2 correction
    187242               if(nircorr.eq.1) then
     
    213268
    214269              if(fract(ig).gt.0.) pdtnirco2(ig,l)=
    215      &             co2heat0*sqrt((p_ctop*zmu(ig))/nplay(ig,l))
     270     &             co2heat0*n_a*sqrt((p_ctop*zmu(ig))/nplay(ig,l))
    216271     &             /(1.+n_p0/nplay(ig,l))**n_b
    217272c           Corrections from tabulation
    218273     $              * cor1(l) * p2011
    219274             
    220           enddo
    221          enddo
    222          
     275            enddo !nlev
     276c---------------------------
     277           else  ! multipeak
     278c---------------------------
     279            do l=1,nlev
     280               if(fract(ig).gt.0.) then
     281                   picFB(ig,l)=n_coFB
     282     &              *((n_aFB/nplay(ig,l))**n_eFB)
     283     &              *zmu(ig)**0.82
     284     &             /(1.+n_p0FB/nplay(ig,l))**n_bFB
     285
     286                   picISO(ig,l)=n_coISO
     287     &              *((n_aISO/nplay(ig,l))**n_eISO)
     288     &              *zmu(ig)**0.55
     289     &             /(1.+n_p0ISO/nplay(ig,l))**n_bISO
     290
     291                   picFH(ig,l)=n_coFH
     292     &              *((n_aFH/nplay(ig,l))**n_eFH)
     293     &              *zmu(ig)**0.55
     294     &             /(1.+n_p0FH/nplay(ig,l))**n_bFH
     295
     296                   pic43(ig,l)=n_co43
     297     &              *((n_a43/nplay(ig,l))**n_e43)
     298     &              *zmu(ig)**0.55
     299     &             /(1.+n_p043/nplay(ig,l))**n_b43
     300
     301                   pic43b(ig,l)=n_co43b
     302     &              *((n_a43b/nplay(ig,l))**n_e43b)
     303     &              *zmu(ig)**0.55
     304     &             /(1.+n_p043b/nplay(ig,l))**n_b43b
     305
     306                   picnir(ig,l)=n_conir
     307     &              *((n_anir/nplay(ig,l))**n_enir)
     308     &              *zmu(ig)**0.55
     309     &             /(1.+n_p0nir/nplay(ig,l))**n_bnir
     310
     311                   pdtnirco2(ig,l)=co2heat0*
     312     &           (picFB(ig,l)+picISO(ig,l)+picFH(ig,l)+pic43(ig,l)
     313     &           +pic43b(ig,l)+picnir(ig,l))*0.5  ! *0.5 = ENORA FINE TUNING
     314                 
     315               endif
     316            enddo !nlev
     317c---------------------------
     318           endif
     319c---------------------------
     320         enddo  !nlon
     321
     322
    223323c     Averaging over diurnal cycle (if diurnal=F)
    224324c     -------------------------------------------
     
    237337     &                  mu0_int,fract_int)
    238338
    239             do ig=1,nlon
     339          do ig=1,nlon
    240340               zmu(ig)=sqrt(1224.*mu0_int(ig)*mu0_int(ig)+1.)/35.
    241341
    242                if(nircorr.eq.1) then
    243                   do l=1,nlev
    244                      pyy(l)=nplay(ig,l)
    245                   enddo
    246                  call interpnir(cor1,pyy,nlev,corgcm,pres1d,npres)
    247                  call interpnir(oldoco2,pyy,nlev,oco21d,pres1d,npres)
    248                  call interpnir(alfa2,pyy,nlev,alfa,pres1d,npres)
    249                endif
    250 c
    251 
     342c---------------------------
     343           if (onepeak) then
     344c---------------------------
     345            if(nircorr.eq.1) then
    252346               do l=1,nlev
     347                  pyy(l)=nplay(ig,l)
     348               enddo
     349               call interpnir(cor1,pyy,nlev,corgcm,pres1d,npres)
     350               call interpnir(oldoco2,pyy,nlev,oco21d,pres1d,npres)
     351               call interpnir(alfa2,pyy,nlev,alfa,pres1d,npres)
     352            endif
     353            do l=1,nlev
    253354c           Calculations for the O/CO2 correction
    254355               if(nircorr.eq.1) then
    255356                  cor0=1./(1.+n_p0/nplay(ig,l))**n_b
    256                   oco2gcm=pq(ig,l,io)/pq(ig,l,ico2)
     357                  if(pq(ig,l,ico2) .gt. 1.e-6) then
     358                     oco2gcm=pq(ig,l,io)/pq(ig,l,ico2)
     359                     ! handle the rare cases when pq(ig,l,io)<0
     360                     if (pq(ig,l,io).lt.0) then
     361                       write(*,*) "nirco2abs: warning ig=",ig," l=",l,
     362     &                            " pq(ig,l,io)=",pq(ig,l,io)
     363                       oco2gcm=1.e6
     364                     endif
     365                  else
     366                     oco2gcm=1.e6
     367                  endif
    257368                  cociente1=oco2gcm/oldoco2(l)
     369                 
     370c                  WRITE(*,*) "nirco2abs line 211", l, cociente1
     371
    258372                  merge=alog10(cociente1)*alfa2(l)+alog10(cor0)*
    259373     $                 (1.-alfa2(l))
     
    266380               endif
    267381
    268                if(fract_int(ig).gt.0.) pdtnirco2(ig,l)=
     382              if(fract(ig).gt.0.) pdtnirco2(ig,l)=
    269383     &              pdtnirco2(ig,l) + (1/float(nstep))*
    270      &              co2heat0*sqrt((p_ctop*zmu(ig))/nplay(ig,l))
    271      &              /(1.+n_p0/nplay(ig,l))**n_b
    272 !     Corrections from tabulation
    273      $              * cor1(l) * p2011
    274 
    275                enddo
    276             enddo
    277          end do
     384     &             co2heat0*n_a*sqrt((p_ctop*zmu(ig))/nplay(ig,l))
     385     &             /(1.+n_p0/nplay(ig,l))**n_b
     386c           Corrections from tabulation
     387     $              * cor1(l) * p2011
     388             
     389            enddo !nlev
     390c---------------------------
     391           else  ! multipeak
     392c---------------------------
     393            do l=1,nlev
     394               if(fract(ig).gt.0.) then
     395                   picFB(ig,l)=n_coFB
     396     &              *((n_aFB/nplay(ig,l))**n_eFB)
     397     &              *zmu(ig)**0.82
     398     &             /(1.+n_p0FB/nplay(ig,l))**n_bFB
     399
     400                   picISO(ig,l)=n_coISO
     401     &              *((n_aISO/nplay(ig,l))**n_eISO)
     402     &              *zmu(ig)**0.55
     403     &             /(1.+n_p0ISO/nplay(ig,l))**n_bISO
     404
     405                   picFH(ig,l)=n_coFH
     406     &              *((n_aFH/nplay(ig,l))**n_eFH)
     407     &              *zmu(ig)**0.55
     408     &             /(1.+n_p0FH/nplay(ig,l))**n_bFH
     409
     410                   pic43(ig,l)=n_co43
     411     &              *((n_a43/nplay(ig,l))**n_e43)
     412     &              *zmu(ig)**0.55
     413     &             /(1.+n_p043/nplay(ig,l))**n_b43
     414
     415                   pic43b(ig,l)=n_co43b
     416     &              *((n_a43b/nplay(ig,l))**n_e43b)
     417     &              *zmu(ig)**0.55
     418     &             /(1.+n_p043b/nplay(ig,l))**n_b43b
     419
     420                   picnir(ig,l)=n_conir
     421     &              *((n_anir/nplay(ig,l))**n_enir)
     422     &              *zmu(ig)**0.55
     423     &             /(1.+n_p0nir/nplay(ig,l))**n_bnir
     424
     425                   pdtnirco2(ig,l)=
     426     &               pdtnirco2(ig,l)+(1/float(nstep))*co2heat0*
     427     &           (picFB(ig,l)+picISO(ig,l)+picFH(ig,l)+pic43(ig,l)
     428     &           +pic43b(ig,l)+picnir(ig,l))*0.5  ! *0.5 = ENORA FINE TUNING
     429                 
     430               endif
     431            enddo !nlev
     432c---------------------------
     433           endif
     434c---------------------------
     435          enddo  !nlon
     436         enddo  !nstep
    278437     
    279 
    280       END IF 
     438      END IF  ! diurnal cycle
    281439
    282440      return
  • trunk/LMDZ.VENUS/libf/phyvenus/nlte_setup.F

    r2464 r2580  
    177177                                !! k19 & k20
    178178
    179 c      k20x = 3.d-12
     179c     k20x = 3.d-12
    180180c  TEST GG: double the values of Kvv as recently found by Sharma et al.2014
    181       k20x = 6.d-12   
     181c     k20x = 6.d-12   
    182182c  TEST GG: use the minimum value of the experimental bracket's values [1-6]
    183183c      k20x = 1.d-12
     184c--------------------
     185ccc VCD 1.1 tuning
     186      k20x = 5.d-12
     187c--------------------
    184188      k20xc = k20x * rf20
    185189      k20xb = 2.d0 * k20xc
  • trunk/LMDZ.VENUS/libf/phyvenus/photochemistry_venus.F90

    r2464 r2580  
    1 subroutine photochemistry_venus(nz, n_lon, ptimestep, p, t, tr, mumean, sza_input, lon, lat, nesp, iter)
     1subroutine photochemistry_venus(nz, n_lon, ptimestep, p, t, tr, mumean, sza_input, lon, lat, nesp, iter, prod_tr, loss_tr)
    22
    33use chemparam_mod
     
    2626
    2727real, dimension(nz,nesp) :: tr    ! tracer mixing ratio
     28real, dimension(nz,nesp) :: prod_tr ! production (cm-3.s-1)
     29real, dimension(nz,nesp) :: loss_tr ! loss       (cm-3.s-1)
    2830
    2931!===================================================================
     
    8688! production and loss terms (for first-guess solution only)
    8789
    88 real, dimension(nesp) :: prod, loss
     90real, dimension(nesp) :: prod, loss, lossconc
    8991
    9092! indexes
     
    170172!  first-guess: fill matrix
    171173
    172    call fill_matrix(iz, mat1, prod, loss, c, nesp, nz,                    &
     174   call fill_matrix(iz, mat1, prod, loss, lossconc, c, nesp, nz,          &
    173175                    nb_reaction_3_max, nb_reaction_4_max, nb_phot_max,    &
    174176                    v_phot, v_3, v_4)
     
    223225
    224226   tr(iz,:)  = max(c(iz,:)/conc(iz), 1.e-30)
     227   
     228!  save prod and loss espece
     229   
     230   prod_tr(iz,:) = prod(:)
     231   loss_tr(iz,:) = lossconc(:)
    225232                       
    226233end do  ! end of loop over vertical levels
     
    13811388
    13821389implicit none
     1390#include "clesphys.h"
    13831391
    13841392integer, INTENT(IN) :: nz
     
    15471555   v_phot(:,ij) = j(:,ij)
    15481556end do
     1557
     1558!!! TEST: artificial increase of CO2 photodissociation
     1559if (tuneupperatm) then
     1560!-- TuneA
     1561!   v_phot(65:78,4) = v_phot(65:78,4)*10.
     1562!   v_phot(60:64,4) = v_phot(60:64,4)*3.
     1563!   v_phot(55:59,3) = v_phot(55:59,3)*2.
     1564!--
     1565!-- TuneB
     1566!   v_phot(65:78,4) = v_phot(65:78,4)*10.
     1567!   v_phot(55:59,3) = v_phot(55:59,3)*5.
     1568!--
     1569!-- TuneC
     1570! VCD 1.1 tuning
     1571    v_phot(65:78,4) = v_phot(65:78,4)*10.
     1572    v_phot(52:59,3) = v_phot(52:59,3)*5.
     1573!--
     1574!-- TuneE
     1575! VCD 2.0 tuning
     1576!   v_phot(65:90,4) = v_phot(65:90,4)*10.
     1577!--
     1578!   v_phot(:,4) = v_phot(:,4)*10.
     1579!do ij=3,4
     1580!   v_phot(:,ij) = v_phot(:,ij)*10.
     1581!end do
     1582endif
     1583!!!!!!!!!!!!!!!
    15491584
    15501585!PRINT*,'sza_input: ',sza_input
     
    28622897!======================================================================
    28632898
    2864  subroutine fill_matrix(ilev, mat, prod, loss, c, nesp, nlayer,            &
     2899 subroutine fill_matrix(ilev, mat, prod, loss, lossconc, c, nesp, nlayer,  &
    28652900                        nb_reaction_3_max, nb_reaction_4_max, nb_phot_max, &
    28662901                        v_phot, v_3, v_4)
     
    28942929
    28952930real, dimension(nesp,nesp), intent(out) :: mat  ! matrix
    2896 real, dimension(nesp), intent(out)      :: prod, loss
     2931real, dimension(nesp), intent(out)      :: prod, loss, lossconc
    28972932
    28982933! local
     
    29112946prod(:)  = 0.
    29122947loss(:)  = 0.
     2948lossconc(:) = 0.
    29132949
    29142950! photodissociations
     
    29262962  mat(ind_phot_6,ind_phot_2) = mat(ind_phot_6,ind_phot_2) - indice_phot(iphot)%z5*v_phot(ilev,iphot)
    29272963
    2928   loss(ind_phot_2) = loss(ind_phot_2) + indice_phot(iphot)%z1*v_phot(ilev,iphot)
    2929   prod(ind_phot_4) = prod(ind_phot_4) + indice_phot(iphot)%z3*v_phot(ilev,iphot)*c(ilev,ind_phot_2)
    2930   prod(ind_phot_6) = prod(ind_phot_6) + indice_phot(iphot)%z5*v_phot(ilev,iphot)*c(ilev,ind_phot_2)
     2964  loss(ind_phot_2)     = loss(ind_phot_2) + indice_phot(iphot)%z1*v_phot(ilev,iphot)
     2965  lossconc(ind_phot_2) = lossconc(ind_phot_2) + indice_phot(iphot)%z1*v_phot(ilev,iphot)*c(ilev,ind_phot_2)
     2966 
     2967  prod(ind_phot_4)     = prod(ind_phot_4) + indice_phot(iphot)%z3*v_phot(ilev,iphot)*c(ilev,ind_phot_2)
     2968  prod(ind_phot_6)     = prod(ind_phot_6) + indice_phot(iphot)%z5*v_phot(ilev,iphot)*c(ilev,ind_phot_2)
    29312969
    29322970end do
     
    29442982  mat(ind_3_6,ind_3_2) = mat(ind_3_6,ind_3_2) - indice_3(i3)%z5*v_3(ilev,i3)*c(ilev,ind_3_2)
    29452983
    2946   loss(ind_3_2) = loss(ind_3_2) + indice_3(i3)%z1*v_3(ilev,i3)*c(ilev,ind_3_2)
    2947   prod(ind_3_4) = prod(ind_3_4) + indice_3(i3)%z3*v_3(ilev,i3)*c(ilev,ind_3_2)*c(ilev,ind_3_2)
    2948   prod(ind_3_6) = prod(ind_3_6) + indice_3(i3)%z5*v_3(ilev,i3)*c(ilev,ind_3_2)*c(ilev,ind_3_2)
     2984  loss(ind_3_2)     = loss(ind_3_2) + indice_3(i3)%z1*v_3(ilev,i3)*c(ilev,ind_3_2)
     2985  lossconc(ind_3_2) = lossconc(ind_3_2) + indice_3(i3)%z1*v_3(ilev,i3)*c(ilev,ind_3_2)*c(ilev,ind_3_2)
     2986 
     2987  prod(ind_3_4)     = prod(ind_3_4) + indice_3(i3)%z3*v_3(ilev,i3)*c(ilev,ind_3_2)*c(ilev,ind_3_2)
     2988  prod(ind_3_6)     = prod(ind_3_6) + indice_3(i3)%z5*v_3(ilev,i3)*c(ilev,ind_3_2)*c(ilev,ind_3_2)
    29492989
    29502990end do
     
    29743014
    29753015
    2976   loss(ind_4_2) = loss(ind_4_2) + indice_4(i4)%z1*v_4(ilev,i4)*c(ilev,ind_4_4)
    2977   loss(ind_4_4) = loss(ind_4_4) + indice_4(i4)%z3*v_4(ilev,i4)*c(ilev,ind_4_2)
    2978   prod(ind_4_6) = prod(ind_4_6) + indice_4(i4)%z5*v_4(ilev,i4)*c(ilev,ind_4_2)*c(ilev,ind_4_4)
    2979   prod(ind_4_8) = prod(ind_4_8) + indice_4(i4)%z7*v_4(ilev,i4)*c(ilev,ind_4_2)*c(ilev,ind_4_4)
     3016  loss(ind_4_2)     = loss(ind_4_2) + indice_4(i4)%z1*v_4(ilev,i4)*c(ilev,ind_4_4)
     3017  lossconc(ind_4_2) = lossconc(ind_4_2) + indice_4(i4)%z1*v_4(ilev,i4)*c(ilev,ind_4_4)*c(ilev,ind_4_2)
     3018  loss(ind_4_4)     = loss(ind_4_4) + indice_4(i4)%z3*v_4(ilev,i4)*c(ilev,ind_4_2)
     3019  lossconc(ind_4_4) = lossconc(ind_4_4) + indice_4(i4)%z3*v_4(ilev,i4)*c(ilev,ind_4_2)*c(ilev,ind_4_4)
     3020 
     3021  prod(ind_4_6)     = prod(ind_4_6) + indice_4(i4)%z5*v_4(ilev,i4)*c(ilev,ind_4_2)*c(ilev,ind_4_4)
     3022  prod(ind_4_8)     = prod(ind_4_8) + indice_4(i4)%z7*v_4(ilev,i4)*c(ilev,ind_4_2)*c(ilev,ind_4_4)
    29803023
    29813024end do
  • trunk/LMDZ.VENUS/libf/phyvenus/phyetat0.F90

    r2534 r2580  
    1515      USE time_phylmdz_mod, only: itau_phy, raz_date, pdtphys
    1616      USE ioipsl_getin_p_mod, only: getin_p
     17  use nonoro_gwd_ran_mod, only: du_nonoro_gwd, dv_nonoro_gwd, &
     18                                east_gwstress, west_gwstress
    1719
    1820implicit none
     
    365367PRINT*,'Turbulent Kinetic Energy', minval(q2), maxval(q2)
    366368
     369! Non-orographic gravity waves
     370if (startphy_file) then
     371   call get_field("du_nonoro_gwd",du_nonoro_gwd,found)
     372   if (.not.found) then
     373      write(*,*) "phyetat0: <du_nonoro_gwd> not in file"
     374      du_nonoro_gwd(:,:)=0.
     375   endif
     376endif ! of if (startphy_file)
     377if (startphy_file) then
     378   call get_field("dv_nonoro_gwd",dv_nonoro_gwd,found)
     379   if (.not.found) then
     380      write(*,*) "phyetat0: <dv_nonoro_gwd> not in file"
     381      dv_nonoro_gwd(:,:)=0.
     382   endif
     383endif ! of if (startphy_file)
     384if (startphy_file) then
     385   call get_field("east_gwstress",east_gwstress,found)
     386   if (.not.found) then
     387      write(*,*) "phyetat0: <east_gwstress> not in file"
     388      east_gwstress(:,:)=0.
     389   endif
     390endif ! of if (startphy_file)
     391if (startphy_file) then
     392   call get_field("west_gwstress",west_gwstress,found)
     393   if (.not.found) then
     394      write(*,*) "phyetat0: <west_gwstress> not in file"
     395      west_gwstress(:,:)=0.
     396   endif
     397endif ! of if (startphy_file)
     398
    367399! close file
    368400IF (startphy_file) call close_startphy
  • trunk/LMDZ.VENUS/libf/phyvenus/phyredem.F90

    r2534 r2580  
    1313      use geometry_mod, only: longitude_deg, latitude_deg
    1414      USE time_phylmdz_mod, only: day_end, annee_ref, itau_phy, raz_date
     15  use nonoro_gwd_ran_mod, only: du_nonoro_gwd, dv_nonoro_gwd, &
     16                                east_gwstress, west_gwstress
    1517
    1618      implicit none
     
    99101      CALL put_field("TANCIEN","T Previous iteration",t_ancien)
    100102
     103! Non-orographic gavity waves
     104if (ok_gw_nonoro) then
     105   call put_field("du_nonoro_gwd","Zonal wind tendency due to GW",du_nonoro_gwd)
     106   call put_field("dv_nonoro_gwd","Meridional wind tendency due to GW",dv_nonoro_gwd)
     107   call put_field("east_gwstress","Eastward stress profile due to GW",east_gwstress)
     108   call put_field("west_gwstress","Westward stress profile due to GW",west_gwstress)
     109endif
     110
    101111! close file
    102112
  • trunk/LMDZ.VENUS/libf/phyvenus/phys_state_var_mod.F90

    r2534 r2580  
    1111      USE dimphy
    1212      USE turb_mod
     13      use nonoro_gwd_ran_mod, only: ini_nonoro_gwd_ran, end_nonoro_gwd_ran
    1314!      INTEGER, SAVE :: radpas
    1415!!$OMP THREADPRIVATE(radpas)
     
    173174      ! allocate turb_mod module variables
    174175      CALL ini_turb_mod(klon,klev)
     176      ! allocate arrays in "nonoro_gwd_ran_mod"
     177      call ini_nonoro_gwd_ran(klon,klev)
    175178     
    176179END SUBROUTINE phys_state_var_init
     
    212215      ! deallocate turb_mod module variables
    213216      CALL end_turb_mod
     217      ! deallocate arrays in "nonoro_gwd_ran_mod"
     218      call end_nonoro_gwd_ran
    214219
    215220END SUBROUTINE phys_state_var_end
  • trunk/LMDZ.VENUS/libf/phyvenus/physiq_mod.F

    r2535 r2580  
    7878      use vertical_layers_mod, only: pseudoalt
    7979      use turb_mod, only : sens, turb_resolved
     80      use nonoro_gwd_ran_mod, only: nonoro_gwd_ran
    8081      use sed_and_prod_mad, only: aer_sedimentation, drop_sedimentation
    8182#ifdef CPP_XIOS     
     
    362363c pour sorties
    363364      REAL :: col_dens_tr(klon,nqmax)
     365      REAL,allocatable,save :: prod_tr(:,:,:)
     366      REAL,allocatable,save :: loss_tr(:,:,:)
    364367
    365368c pour ioipsl
     
    402405c-jld ec_conser
    403406
     407c ALBEDO VARIATIONS (VCD)
     408      REAL factAlb
    404409c TEST VENUS...
    405410      REAL mang(klon,klev)    ! moment cinetique
     
    448453      IF (debut) THEN
    449454         allocate(source(klon,nqmax))
     455         allocate(prod_tr(klon,klev,nqmax))
     456         allocate(loss_tr(klon,klev,nqmax))
    450457
    451458#ifdef CPP_XIOS
     
    10671074     $                       tr_seri,
    10681075     $                       d_tr_chem,
    1069      $                       iter)
     1076     $                       iter,
     1077     $                       prod_tr,
     1078     $                       loss_tr)
    10701079
    10711080         if (ok_sedim) then
     
    15141523      endif
    15151524
    1516 c albedo variations: test for Yeon Joo Lee
     1525c ALBEDO VARIATIONS: test for Yeon Joo Lee
    15171526c  increment to increase it for 20 Vd => +80%
    15181527c       heat(:,:)=heat(:,:)*(1.+0.80*((rjourvrai-356)+gmtime)/20.)
    15191528c  or to decrease it for 20 Vd => 1/1.8
    15201529c       heat(:,:)=heat(:,:)/(1.+0.80*((rjourvrai-356)+gmtime)/20.)
     1530
     1531c ------------ ALBEDO VARIATIONS: scenarios for VCD
     1532c shape of relative variation from Lee et al 2019 (Fig 13b)
     1533c between 57 km (4e4 Pa) and 72 km (2.5e3 Pa), peak at 67 km (6e3 Pa)
     1534c      do j=1,klev
     1535c       factAlb = 0.
     1536c       if ((presnivs(j).gt.6.e3).and.(presnivs(j).lt.4.e4)) then
     1537c        factAlb = (log(presnivs(j))-log(4.e4))/(log(6.e3)-log(4.e4))
     1538c       elseif ((presnivs(j).lt.6.e3).and.(presnivs(j).gt.2.5e3)) then
     1539c        factAlb = (log(presnivs(j))-log(2.5e3))/(log(6.e3)-log(2.5e3))
     1540c       endif
     1541c Increase by 50% (Minimum albedo)
     1542c       heat(:,j)=heat(:,j)*(1+factAlb*0.5)
     1543c Decrease by 30% (Maximum albedo)
     1544c       heat(:,j)=heat(:,j)*(1-factAlb*0.3)
     1545c      enddo
     1546c ------------ END ALBEDO VARIATIONS
    15211547
    15221548cc---------------------------------------------
     
    17841810       IF(ok_gw_nonoro) then
    17851811
     1812! Obsolete
     1813! but used for VCD 1.1
    17861814      call flott_gwd_ran(klon,klev,dtime,pplay,zn2,
    17871815     e               t_seri, u_seri, v_seri, paprs(klon/2+1,:),
    17881816     o               zustrhi,zvstrhi,
    17891817     o               d_t_hin, d_u_hin, d_v_hin)
     1818
     1819! New routine based on Generic
     1820! used after VCD 1.1
     1821!     call nonoro_gwd_ran(klon,klev,dtime,pplay,zn2,presnivs,
     1822!    e               t_seri, u_seri, v_seri,
     1823!    o               zustrhi,zvstrhi,
     1824!    o               d_t_hin, d_u_hin, d_v_hin)
    17901825
    17911826c  ajout des tendances
     
    20652100
    20662101      if (iflag_trac == 1) then
     2102
     2103! production and destruction rate, cm-3.s-1
     2104! Beware of the context*.xml file !!
     2105!         if ((tr_scheme == 3) .and. (ok_chem)) THEN
     2106!            do iq = 1,nqmax - nmicro
     2107!               !if ((iq == i_co) .or. (iq == i_o)) then
     2108!               !   call send_xios_field('prod_'+tname(iq), prod_tr(:,:,iq))
     2109!               !   call send_xios_field('loss_'+tname(iq), loss_tr(:,:,iq))
     2110!               !end if
     2111!               if (iq == i_o) then
     2112!                  call send_xios_field('prod_o', prod_tr(:,:,iq))
     2113!                  call send_xios_field('loss_o', loss_tr(:,:,iq))
     2114!               end if
     2115!               if (iq == i_co) then
     2116!                  call send_xios_field('prod_co', prod_tr(:,:,iq))
     2117!                  call send_xios_field('loss_co', loss_tr(:,:,iq))
     2118!               end if
     2119!            end do
     2120!         end if
    20672121
    20682122! tracers in gas phase, volume mixing ratio
  • trunk/LMDZ.VENUS/libf/phyvenus/phytrac_chimie.F

    r2523 r2580  
    1212     $                    trac,
    1313     $                    d_tr_chem,
    14      $                    iter)
     14     $                    iter,
     15     $                    prod_tr,
     16     $                    loss_tr)
    1517
    1618      use chemparam_mod
    1719      use conc, only: mmean,rnew
     20#ifdef CPP_XIOS     
     21      use xios_output_mod, only: send_xios_field
     22#endif
    1823
    1924      implicit none
     
    4348      real, dimension(nlon,nlev,nqmax) :: d_tr_chem  ! chemical tendency for each tracer
    4449      integer, dimension(nlon,nlev) :: iter          ! chemical iterations
     50      real, dimension(nlon,nlev,nqmax) :: prod_tr, loss_tr  ! produc and loss tracer
    4551
    4652!===================================================================
     
    6167      real, dimension(nlon,nlev) :: trac_sum
    6268      real, dimension(nlon,nlev,nqmax) :: ztrac  ! local tracer mixing ratio
    63      
     69      
    6470!===================================================================
    6571!     first call : initialisations
     
    271277     $                                ztrac(ilon,:,:),
    272278     $                                mmean(ilon,:),
    273      $                                sza_local, 
     279     $                                sza_local,
    274280     $                                lon(ilon), lat(ilon),
    275      $                                nqmax, iter(ilon,:))
    276 
    277          end do
    278 
     281     $                                nqmax, iter(ilon,:),
     282     $                                prod_tr(ilon,:,:),
     283     $                                loss_tr(ilon,:,:))
     284
     285         end do         
    279286      end if  ! ok_chem
    280287
Note: See TracChangeset for help on using the changeset viewer.