/[lmdze]/trunk/Sources/phylmd/clesphys.f
ViewVC logotype

Diff of /trunk/Sources/phylmd/clesphys.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

trunk/libf/phylmd/clesphys.f90 revision 12 by guez, Mon Jul 21 16:05:07 2008 UTC trunk/Sources/phylmd/clesphys.f revision 191 by guez, Mon May 9 19:56:28 2016 UTC
# Line 1  Line 1 
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 co2_ppm ! concentration du gaz carbonique en ppmv
8    REAL co2_ppm, solaire    real solaire ! Constante solaire en W/m2
9    double precision RCO2, RCH4, RN2O, RCFC11, RCFC12      double precision RCO2 ! Concentration du CO2
10      double precision RCH4 ! Concentration du CH4
11      double precision RN2O ! Concentration du N2O
12      double precision RCFC11 ! Concentration du CFC11
13      double precision RCFC12 ! Concentration du CFC12
14    double precision CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt    double precision CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt
15    !IM simulateur ISCCP  
16    INTEGER top_height, overlap    ! Simulateur ISCCP:
17    !IM seuils cdrm, cdrh    INTEGER top_height
18    REAL cdmmax, cdhmax    INTEGER overlap ! 1, 2 or 3
19    !IM param. stabilite s/ terres et en dehors  
20    REAL ksta, ksta_ter    REAL cdmmax, cdhmax ! seuils cdrm, cdrh
21    !IM ok_kzmin : clef calcul Kzmin dans la CL de surface cf FH    REAL ksta, ksta_ter ! paramètres stabilité sur terres et en dehors
22    LOGICAL ok_kzmin    LOGICAL ok_kzmin ! calcul Kzmin dans la couche limite de surface
23    
24    INTEGER lev_histhf ! niveau sorties 6h    INTEGER lev_histhf ! niveau sorties 6h
25      ! 4: histhf3d.nc champs 3d niveaux modele
26    
27    integer lev_histday ! niveau sorties journalieres    integer lev_histday ! niveau sorties journalieres
28      ! 3: champs 3D => F. Lott
29      ! 4: + champs sous-surfaces
30    
31    integer lev_histmth ! niveau sorties mensuelles    integer lev_histmth ! niveau sorties mensuelles
32    CHARACTER(len=4) type_run    ! 3: albedo, rugosite sous-surfaces
33      ! 4: champs tendances 3d
34    
35      CHARACTER(len=4) type_run ! 'AMIP' ou 'ENSP'
36    LOGICAL ok_isccp, ok_regdyn    LOGICAL ok_isccp, ok_regdyn
37    
38    REAL lonmin_ins, lonmax_ins, latmin_ins, latmax_ins    REAL lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
39      ! longitude et latitude minimales et maximales pour la zone avec
40      ! sorties instantanées tous les pas de temps de la physique,
41      ! fichier "histbilKP_ins.nc"
42    
43    INTEGER ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day    INTEGER ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day
44    INTEGER ecrit_mth, ecrit_tra, ecrit_reg    INTEGER ecrit_mth, ecrit_tra, ecrit_reg
45      logical:: ok_instan = .false. ! sorties instantanees dans le fichier histins
46    
47    save    save
48    
49    contains
50    
51      subroutine read_clesphys
52    
53        use unit_nml_m, only: unit_nml
54    
55        namelist /clesphys_nml/ solaire, co2_ppm, CH4_ppb, N2O_ppb, CFC11_ppt, &
56             CFC12_ppt, top_height, overlap, cdmmax, cdhmax, ksta, &
57             ksta_ter, ok_kzmin, lev_histhf, lev_histday, lev_histmth, &
58             type_run, ok_isccp, ok_regdyn, lonmin_ins, lonmax_ins, latmin_ins, &
59             latmax_ins, ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day, ecrit_mth, &
60             ecrit_tra, ecrit_reg, ok_instan
61    
62        !---------------------------------------------------------
63    
64        solaire = 1365. ! AMIP II
65        co2_ppm = 348. ! AMIP II
66        CH4_ppb = 1650.
67        N2O_ppb = 306.
68        CFC11_ppt = 280.
69        CFC12_ppt = 484.
70        top_height = 3
71        overlap = 3
72        cdmmax = 1.3E-3
73        cdhmax = 1.1E-3
74        ksta = 1.0e-10
75        ksta_ter = 1.0e-10
76        ok_kzmin = .true.
77        lev_histhf = 0
78        lev_histday = 1
79        lev_histmth = 2
80        type_run = 'AMIP'
81        ok_isccp = .false.
82        ok_regdyn = .false.
83        lonmin_ins = 100.
84        lonmax_ins = 130.
85        latmin_ins = -20.
86        latmax_ins = 20.
87        ecrit_ins = NINT(86400./48.)
88        ecrit_hf = NINT(86400. *0.25)
89        ecrit_hf2mth = 4*30 ! ecriture mens. a partir de val. inst. toutes les 6h
90        ecrit_day = 86400
91        ecrit_mth = 86400
92        ecrit_tra = 1
93        ecrit_reg = NINT(86400. *0.25) ! 4 fois par jour
94    
95        print *, "Enter namelist 'clesphys_nml'."
96        read(unit=*, nml=clesphys_nml)
97        write(unit_nml, nml=clesphys_nml)
98    
99        RCO2 = co2_ppm * 1.0e-06 * 44.011/28.97
100        RCH4 = CH4_ppb * 1.0E-09 * 16.043/28.97
101        RN2O = N2O_ppb * 1.0E-09 * 44.013/28.97
102        RCFC11=CFC11_ppt* 1.0E-12 * 137.3686/28.97
103        RCFC12 = CFC12_ppt * 1.0E-12 * 120.9140/28.97
104    
105        print *, ' RCO2 = ', RCO2
106        print *, ' RCH4 = ', RCH4
107        print *, ' RN2O = ', RN2O
108        print *, ' RCFC11 = ', RCFC11
109        print *, ' RCFC12 = ', RCFC12
110    
111      end subroutine read_clesphys
112    
113  end module clesphys  end module clesphys

Legend:
Removed from v.12  
changed lines
  Added in v.191

  ViewVC Help
Powered by ViewVC 1.1.21