--- trunk/libf/phylmd/clesphys.f90 2008/07/21 16:05:07 12 +++ trunk/phylmd/clesphys.f 2018/02/05 10:39:38 254 @@ -1,30 +1,57 @@ module clesphys - ! v 1.3 2005/06/06 13:16:33 fairhead + ! From version 1.3 2005/06/06 13:16:33 implicit none - LOGICAL bug_ozone - REAL co2_ppm, solaire - double precision RCO2, RCH4, RN2O, RCFC11, RCFC12 - double precision CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt - !IM simulateur ISCCP - INTEGER top_height, overlap - !IM seuils cdrm, cdrh - REAL cdmmax, cdhmax - !IM param. stabilite s/ terres et en dehors - REAL ksta, ksta_ter - !IM ok_kzmin : clef calcul Kzmin dans la CL de surface cf FH - LOGICAL ok_kzmin - INTEGER lev_histhf ! niveau sorties 6h - integer lev_histday ! niveau sorties journalieres - integer lev_histmth ! niveau sorties mensuelles - CHARACTER(len=4) type_run - LOGICAL ok_isccp, ok_regdyn - REAL lonmin_ins, lonmax_ins, latmin_ins, latmax_ins - INTEGER ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day - INTEGER ecrit_mth, ecrit_tra, ecrit_reg + REAL:: co2_ppm = 348. ! AMIP II, concentration du gaz carbonique en ppmv + real:: solaire = 1365. ! AMIP II, constante solaire en W/m2 + double precision, save:: RCO2 ! Concentration du CO2 + double precision, save:: RCH4 ! Concentration du CH4 + double precision, save:: RN2O ! Concentration du N2O + double precision, save:: RCFC11 ! Concentration du CFC11 + double precision, save:: RCFC12 ! Concentration du CFC12 + double precision:: CH4_ppb = 1650., N2O_ppb = 306. + double precision:: CFC11_ppt = 280., CFC12_ppt = 484. + REAL:: cdmmax = 1.3E-3, cdhmax = 1.1E-3 ! seuils cdrm, cdrh + + REAL:: ksta = 1.0e-10, ksta_ter = 1.0e-10 + ! param\`etres de stabilit\'e sur terre et en dehors - save + LOGICAL:: ok_kzmin = .true.! calcul de Kzmin dans la couche limite de surface + INTEGER, save:: ecrit_ins + logical:: ok_instan = .false. ! sorties instantanees dans le fichier histins + +contains + + subroutine read_clesphys + + use unit_nml_m, only: unit_nml + + namelist /clesphys_nml/ solaire, co2_ppm, CH4_ppb, N2O_ppb, CFC11_ppt, & + CFC12_ppt, cdmmax, cdhmax, ksta, ksta_ter, ok_kzmin, ecrit_ins, & + ok_instan + + !--------------------------------------------------------- + + ecrit_ins = NINT(86400./48.) + + print *, "Enter namelist 'clesphys_nml'." + read(unit=*, nml=clesphys_nml) + write(unit_nml, nml=clesphys_nml) + + RCO2 = co2_ppm * 1.0e-06 * 44.011/28.97 + RCH4 = CH4_ppb * 1.0E-09 * 16.043/28.97 + RN2O = N2O_ppb * 1.0E-09 * 44.013/28.97 + RCFC11=CFC11_ppt* 1.0E-12 * 137.3686/28.97 + RCFC12 = CFC12_ppt * 1.0E-12 * 120.9140/28.97 + + print *, ' RCO2 = ', RCO2 + print *, ' RCH4 = ', RCH4 + print *, ' RN2O = ', RN2O + print *, ' RCFC11 = ', RCFC11 + print *, ' RCFC12 = ', RCFC12 + + end subroutine read_clesphys end module clesphys