Changeset 857


Ignore:
Timestamp:
Oct 30, 2007, 4:58:43 PM (17 years ago)
Author:
Laurent Fairhead
Message:

Inclusion d'un parametre aer_type qui permet de définir le type d'aerosols
lus dans readsulfate (pre-industriels, naturels ou scenario). SD
LF

Location:
LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/clesphys.h

    r845 r857  
    4545       INTEGER :: ip_ebil_phy
    4646       LOGICAL ok_slab_sicOBS
     47!LF aer_actuel: pour utiliser un fichier constant dans readsulfate
     48       CHARACTER*8 :: aer_type
    4749
    4850       COMMON/clesphys/cycle_diurne, soil_model, new_oliq,              &
     
    5759     &     , ecrit_mth, ecrit_tra, ecrit_reg                            &
    5860     &     , freq_ISCCP, ecrit_ISCCP, ip_ebil_phy                       &
    59      &     , ok_slab_sicOBS, ok_lic_melt, cvl_corr
     61     &     , ok_slab_sicOBS, ok_lic_melt, cvl_corr, aer_type
    6062     
    6163!$OMP THREADPRIVATE(/clesphys/)
  • LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/conf_phys.F90

    r845 r857  
    5656  logical,SAVE        :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp       
    5757  LOGICAL,SAVE        :: ok_ade_omp, ok_aie_omp
     58  character (len = 8),SAVE  :: aer_type_omp
    5859  REAL,SAVE           :: bl95_b0_omp, bl95_b1_omp
    5960  REAL,SAVE           :: freq_ISCCP_omp, ecrit_ISCCP_omp
     
    165166  ok_aie_omp = .false.
    166167  call getin('ok_aie', ok_aie_omp)
     168
     169!
     170!Config Key  = aer_type
     171!Config Desc = Use a constant field for the aerosols
     172!Config Def  = scenario
     173!Config Help = Used in readsulfate.F
     174!
     175  aer_type_omp = 'scenario'
     176  call getin('aer_type', aer_type_omp)
    167177
    168178!
     
    828838    ok_ade = ok_ade_omp
    829839    ok_aie = ok_aie_omp
     840    aer_type = aer_type_omp
    830841    bl95_b0 = bl95_b0_omp
    831842    bl95_b1 = bl95_b1_omp
     
    906917  write(numout,*)' ok_ade = ',ok_ade
    907918  write(numout,*)' ok_aie = ',ok_aie
     919  write(numout,*)' aer_type = ',aer_type
    908920  write(numout,*)' bl95_b0 = ',bl95_b0
    909921  write(numout,*)' bl95_b1 = ',bl95_b1
  • LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/readsulfate.F

    r804 r857  
    3838cym#include "dimphy.h"     
    3939#include "temps.h"     
     40#include "clesphys.h"
     41#include "iniprint.h"
    4042c
    4143c Input:
     
    8486
    8587      if (is_mpi_root) then
     88
     89        IF (aer_type /= 'actuel  ' .AND. aer_type /= 'preind  ' .AND.   &
     90     &      aer_type /= 'scenario') THEN
     91          WRITE(lunout,*)' *** Warning ***'
     92          WRITE(lunout,*)'Option aer_type pour les aerosols = ',        &
     93     &        aer_type
     94          WRITE(lunout,*)'Cas non prevu, force a preind'
     95          aer_type = 'preind  '
     96        ENDIF
    8697           
    8798      iday = INT(r_day)
     
    118129
    119130
    120       IF (iyr .lt. 1850) THEN
    121          cyear='.nat'
    122          WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
    123          CALL getso4fromfile(cyear, so4_1)
    124       ELSE IF (iyr .ge. 2100) THEN
    125          cyear='2100'
    126          WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
    127          CALL getso4fromfile(cyear, so4_1)
     131
     132      IF (aer_type == 'actuel  ') then
     133        cyear='1980'
     134      ELSE IF (aer_type == 'preind  ') THEN
     135        cyear='.nat'
    128136      ELSE
     137        IF (iyr .lt. 1850) THEN
     138           cyear='.nat'
     139           WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
     140           CALL getso4fromfile(cyear, so4_1)
     141        ELSE IF (iyr .ge. 2100) THEN
     142           cyear='2100'
     143           WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
     144           CALL getso4fromfile(cyear, so4_1)
     145        ELSE
    129146
    130147        ! Read in data:
    131       ! a) from actual 10-yr-period
    132 
    133       IF (iyr.LT.1900) THEN
    134          iyr1 = 1850
    135          iyr2 = 1900
    136       ELSE IF (iyr.ge.1900.and.iyr.lt.1920) THEN
    137          iyr1 = 1900
    138          iyr2 = 1920
    139       ELSE
    140          iyr1 = INT(iyr/10)*10
    141          iyr2 = INT(1+iyr/10)*10
     148        ! a) from actual 10-yr-period
     149
     150        IF (iyr.LT.1900) THEN
     151           iyr1 = 1850
     152           iyr2 = 1900
     153        ELSE IF (iyr.ge.1900.and.iyr.lt.1920) THEN
     154           iyr1 = 1900
     155           iyr2 = 1920
     156        ELSE
     157           iyr1 = INT(iyr/10)*10
     158           iyr2 = INT(1+iyr/10)*10
     159        ENDIF
     160        WRITE(cyear,'(I4)') iyr1
    142161      ENDIF
    143       WRITE(cyear,'(I4)') iyr1
    144162      WRITE(*,*) 'getso4  iyr=', iyr,'   ',cyear
    145163      CALL getso4fromfile(cyear, so4_1)
Note: See TracChangeset for help on using the changeset viewer.