1 |
module clesphys |
module clesphys |
2 |
|
|
3 |
! v 1.3 2005/06/06 13:16:33 fairhead |
! From version 1.3 2005/06/06 13:16:33 |
4 |
|
|
5 |
implicit none |
implicit none |
6 |
|
|
7 |
LOGICAL bug_ozone |
real, protected:: solaire = 1365. ! constante solaire en W / m2 |
8 |
REAL co2_ppm, solaire |
double precision, save, protected:: RCO2 ! mass mixing ratio of CO2 |
9 |
double precision RCO2, RCH4, RN2O, RCFC11, RCFC12 |
double precision, save, protected:: RCH4 ! mass mixing ratio of CH4 |
10 |
double precision CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt |
double precision, save, protected:: RN2O ! mass mixing ratio of N2O |
11 |
!IM simulateur ISCCP |
double precision, save, protected:: RCFC11 ! mass mixing ratio of CFC11 |
12 |
INTEGER top_height, overlap |
double precision, save, protected:: RCFC12 ! mass mixing ratio of CFC12 |
13 |
!IM seuils cdrm, cdrh |
REAL, protected:: cdmmax = 1.3E-3, cdhmax = 1.1E-3 ! seuils cdrm, cdrh |
14 |
REAL cdmmax, cdhmax |
|
15 |
!IM param. stabilite s/ terres et en dehors |
REAL, protected:: ksta = 1e-10, ksta_ter = 1e-10 |
16 |
REAL ksta, ksta_ter |
! param\`etres de stabilit\'e sur terre et en dehors |
|
!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 |
|
17 |
|
|
18 |
save |
LOGICAL, protected:: ok_kzmin = .true. |
19 |
|
! calcul de Kzmin dans la couche limite de surface |
20 |
|
|
21 |
|
INTEGER, protected:: ecrit_ins = 1 |
22 |
|
! number of time steps of physics between outputs |
23 |
|
|
24 |
|
logical, protected:: ok_instan = .false. |
25 |
|
! sorties instantanees dans le fichier histins |
26 |
|
|
27 |
|
real, protected:: f_cdrag_ter = 1., f_cdrag_oce = 0.8 |
28 |
|
! surface drag coefficients |
29 |
|
|
30 |
|
contains |
31 |
|
|
32 |
|
subroutine read_clesphys |
33 |
|
|
34 |
|
use unit_nml_m, only: unit_nml |
35 |
|
|
36 |
|
REAL:: co2_ppm = 348. ! number mixing ratio, in ppm |
37 |
|
real:: CH4_ppb = 1650., N2O_ppb = 306. |
38 |
|
real:: CFC11_ppt = 280., CFC12_ppt = 484. |
39 |
|
|
40 |
|
namelist /clesphys_nml/ solaire, co2_ppm, CH4_ppb, N2O_ppb, CFC11_ppt, & |
41 |
|
CFC12_ppt, cdmmax, cdhmax, ksta, ksta_ter, ok_kzmin, ecrit_ins, & |
42 |
|
ok_instan, f_cdrag_ter, f_cdrag_oce |
43 |
|
|
44 |
|
!--------------------------------------------------------- |
45 |
|
|
46 |
|
print *, "Enter namelist 'clesphys_nml'." |
47 |
|
read(unit=*, nml=clesphys_nml) |
48 |
|
write(unit_nml, nml=clesphys_nml) |
49 |
|
|
50 |
|
RCO2 = co2_ppm * 1e-06 * 44.011 / 28.97 |
51 |
|
RCH4 = CH4_ppb * 1E-09 * 16.043 / 28.97 |
52 |
|
RN2O = N2O_ppb * 1E-09 * 44.013 / 28.97 |
53 |
|
RCFC11=CFC11_ppt* 1E-12 * 137.3686 / 28.97 |
54 |
|
RCFC12 = CFC12_ppt * 1E-12 * 120.9140 / 28.97 |
55 |
|
|
56 |
|
print *, ' RCO2 = ', RCO2 |
57 |
|
print *, ' RCH4 = ', RCH4 |
58 |
|
print *, ' RN2O = ', RN2O |
59 |
|
print *, ' RCFC11 = ', RCFC11 |
60 |
|
print *, ' RCFC12 = ', RCFC12 |
61 |
|
|
62 |
|
end subroutine read_clesphys |
63 |
|
|
64 |
end module clesphys |
end module clesphys |