Ignore:
Timestamp:
Jan 25, 2019, 5:05:38 PM (5 years ago)
Author:
oboucher
Message:

A first package with molar masses for radiatively active gases, a new switch for interactive radiative CO2
and minor changes to the carbon_cycle module.

Location:
LMDZ6/trunk/libf/phylmd
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/YOMCST.h

    r3394 r3447  
    2020      REAL RSIGMA
    2121! A1.4 Thermodynamic gas phase
    22       REAL R,RMD,RMO3,RMCO2,RMC,RMV,RD,RV,RCPD,RCPV,RCVD,RCVV
     22      REAL RMO3,RMCO2,RMC,RMCH4,RMN2O,RMCFC11,RMCFC12
     23      REAL R,RMD,RMV,RD,RV,RCPD,RCPV,RCVD,RCVV
    2324      REAL RKAPPA,RETV
    2425! A1.5,6 Thermodynamic liquid,solid phases
     
    3536     &      ,RA    ,RG    ,R1SA                                         &
    3637     &      ,RSIGMA                                                     &
    37      &      ,R     ,RMD   ,RMO3  ,RMCO2, RMC, RMV   ,RD    ,RV    ,RCPD &
     38     &      ,R     ,RMD   ,RMV   ,RD    ,RV    ,RCPD                    &
     39     &      ,RMO3  ,RMCO2 ,RMC   ,RMCH4 ,RMN2O ,RMCFC11 ,RMCFC12        &
    3840     &      ,RCPV  ,RCVD  ,RCVV  ,RKAPPA,RETV                           &
    3941     &      ,RCW   ,RCS                                                 &
  • LMDZ6/trunk/libf/phylmd/carbon_cycle_mod.F90

    r3435 r3447  
    3838
    3939! Variables read from parmeter file physiq.def
     40  LOGICAL, PUBLIC :: carbon_cycle_cpl       ! Coupling of CO2 fluxes between LMDZ/ORCHIDEE and LMDZ/OCEAN(PISCES)
     41!$OMP THREADPRIVATE(carbon_cycle_cpl)
    4042  LOGICAL, PUBLIC :: carbon_cycle_tr        ! 3D transport of CO2 in the atmosphere, parameter read in conf_phys
    4143!$OMP THREADPRIVATE(carbon_cycle_tr)
    42   LOGICAL, PUBLIC :: carbon_cycle_cpl       ! Coupling of CO2 fluxes between LMDZ/ORCHIDEE and LMDZ/OCEAN(PISCES)
    43 !$OMP THREADPRIVATE(carbon_cycle_cpl)
     44  LOGICAL, PUBLIC :: carbon_cycle_rad       ! CO2 interactive radiatively
     45!$OMP THREADPRIVATE(carbon_cycle_rad)
    4446  INTEGER, PUBLIC :: level_coupling_esm ! Level of coupling for the ESM - 0, 1, 2, 3
    4547!$OMP THREADPRIVATE(level_coupling_esm)
     48  REAL, PUBLIC :: RCO2_glo, RCO2_tot
     49!$OMP THREADPRIVATE(RCO2_glo, RCO2_tot)
    4650
    4751  LOGICAL :: carbon_cycle_emis_comp_omp=.FALSE.
     
    9195  REAL, DIMENSION(:), ALLOCATABLE, PUBLIC :: co2_send ! Field allocated in phyetat0
    9296!$OMP THREADPRIVATE(co2_send)
     97
     98  INTEGER, PARAMETER, PUBLIC :: id_CO2=1              !--temporaire OB -- to be changed
    9399
    94100! nbfields : total number of fields
     
    552558         
    553559          ! Transformation of atmospheric CO2 concentration for the radiation code
    554           RCO2 = co2_ppm * 1.0e-06  * 44.011/28.97
     560          RCO2 = co2_ppm * 1.0e-06  * RMCO2/28.97
    555561         
    556562          WRITE(lunout,*) 'RCO2 is now updated! RCO2 = ', RCO2
  • LMDZ6/trunk/libf/phylmd/conf_phys_m.F90

    r3435 r3447  
    2626    USE surface_data
    2727    USE phys_cal_mod
    28     USE carbon_cycle_mod,  ONLY: carbon_cycle_tr, carbon_cycle_cpl, level_coupling_esm
     28    USE carbon_cycle_mod,  ONLY: carbon_cycle_tr, carbon_cycle_cpl, carbon_cycle_rad, level_coupling_esm
    2929    USE mod_grid_phy_lmdz, ONLY: klon_glo
    3030    USE print_control_mod, ONLY: lunout
     
    231231    LOGICAL, SAVE :: carbon_cycle_tr_omp
    232232    LOGICAL, SAVE :: carbon_cycle_cpl_omp
     233    LOGICAL, SAVE :: carbon_cycle_rad_omp
    233234    INTEGER, SAVE :: level_coupling_esm_omp
    234235    LOGICAL, SAVE :: adjust_tropopause_omp
     
    21562157    carbon_cycle_cpl_omp=.FALSE.
    21572158    CALL getin('carbon_cycle_cpl',carbon_cycle_cpl_omp)
     2159
     2160    carbon_cycle_rad_omp=.FALSE.
     2161    CALL getin('carbon_cycle_rad',carbon_cycle_rad_omp)
    21582162
    21592163    ! >> PC
     
    24282432    carbon_cycle_tr = carbon_cycle_tr_omp
    24292433    carbon_cycle_cpl = carbon_cycle_cpl_omp
     2434    carbon_cycle_rad = carbon_cycle_rad_omp
    24302435    level_coupling_esm = level_coupling_esm_omp
    24312436
     
    25292534    IF (flag_bc_internal_mixture .AND. flag_aerosol.NE.6) THEN
    25302535       CALL abort_physic('conf_phys', 'flag_bc_internal_mixture can only be activated with flag_aerosol=6',1)
     2536    ENDIF
     2537
     2538    ! Test on carbon cycle
     2539    IF (carbon_cycle_tr .AND. .NOT. carbon_cycle_cpl) THEN
     2540       CALL abort_physic('conf_phys', 'carbon_cycle_cpl has to be TRUE if carbon_cycle_tr is on',1)
     2541    ENDIF
     2542    IF (carbon_cycle_rad .AND. .NOT. carbon_cycle_cpl) THEN
     2543       CALL abort_physic('conf_phys', 'carbon_cycle_cpl has to be TRUE if carbon_cycle_rad is on',1)
    25312544    ENDIF
    25322545
     
    27422755    WRITE(lunout,*) ' carbon_cycle_tr = ', carbon_cycle_tr
    27432756    WRITE(lunout,*) ' carbon_cycle_cpl = ', carbon_cycle_cpl
     2757    WRITE(lunout,*) ' carbon_cycle_rad = ', carbon_cycle_rad
    27442758    WRITE(lunout,*) ' level_coupling_esm = ', level_coupling_esm
    27452759
  • LMDZ6/trunk/libf/phylmd/suphel.F90

    r3394 r3447  
    118118  rmo3 = 47.9942
    119119  rmco2 = 44.011
     120  rmch4 = 16.043
     121  rmn2o = 44.013
     122  rmcfc11 = 137.3686
     123  rmcfc12 = 120.9140
    120124  rmc   = 12.0107
    121125  rmv = 18.0153
     
    133137  WRITE (UNIT=6, FMT='('' Ozone   mass = '',e13.7)') rmo3
    134138  WRITE (UNIT=6, FMT='('' CO2     mass = '',e13.7)') rmco2
    135   WRITE (UNIT=6, FMT='('' CO2     mass = '',e13.7)') rmc
     139  WRITE (UNIT=6, FMT='('' C       mass = '',e13.7)') rmc
     140  WRITE (UNIT=6, FMT='('' CH4     mass = '',e13.7)') rmch4
     141  WRITE (UNIT=6, FMT='('' N2O     mass = '',e13.7)') rmn2o
     142  WRITE (UNIT=6, FMT='('' CFC11   mass = '',e13.7)') rmcfc11
     143  WRITE (UNIT=6, FMT='('' CFC12   mass = '',e13.7)') rmcfc12
    136144  WRITE (UNIT=6, FMT='('' Vapour  mass = '',e13.7)') rmv
    137145  WRITE (UNIT=6, FMT='('' Dry air cst. = '',e13.7)') rd
Note: See TracChangeset for help on using the changeset viewer.