Changeset 833 for LMDZ4/trunk/libf


Ignore:
Timestamp:
Aug 28, 2007, 5:11:08 PM (17 years ago)
Author:
lmdzadmin
Message:

Ajout parametres "fmagic" reglage albedo, "ok_hf", frequence calcul "freq_ISCCP" et sortie "ecrit_ISCCP" ISCCP
IM

Location:
LMDZ4/trunk/libf/phytherm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/phytherm/clesphys.h

    r814 r833  
    3131!IM ok_kzmin : clef calcul Kzmin dans la CL de surface cf FH
    3232       LOGICAL ok_kzmin
     33!IM fmagic : parametre pour regler l albedo sur ocean
     34       REAL fmagic
    3335!IM lev_histhf  : niveau sorties 6h
    3436!IM lev_histday : niveau sorties journalieres
     
    4042       REAL ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day
    4143       REAL ecrit_mth, ecrit_tra, ecrit_reg
    42        REAL freqin_isccp, freqout_isccp
     44       REAL freq_ISCCP, ecrit_ISCCP
    4345       INTEGER :: ip_ebil_phy
    4446       LOGICAL ok_slab_sicOBS
     
    4951     &     , CH4_ppb, N2O_ppb, CFC11_ppt, CFC12_ppt                     &
    5052     &     , top_height, overlap, cdmmax, cdhmax, ksta, ksta_ter        &
    51      &     , ok_kzmin, lev_histhf, lev_histday, lev_histmth             &
     53     &     , ok_kzmin, fmagic, lev_histhf, lev_histday, lev_histmth     &
    5254     &     , type_run, ok_isccp, ok_regdyn                              &
    5355     &     , lonmin_ins, lonmax_ins, latmin_ins, latmax_ins             &
    5456     &     , ecrit_ins, ecrit_hf, ecrit_hf2mth, ecrit_day               &
    5557     &     , ecrit_mth, ecrit_tra, ecrit_reg                            &
    56      &     , freqin_isccp, freqout_isccp, ip_ebil_phy                   &
     58     &     , freq_ISCCP, ecrit_ISCCP, ip_ebil_phy                       &
    5759     &     , ok_slab_sicOBS, ok_lic_melt, cvl_corr
    5860     
  • LMDZ4/trunk/libf/phytherm/conf_phys.F90

    r814 r833  
    55!
    66
    7   subroutine conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, ok_instan, &
     7  subroutine conf_phys(ocean, ok_veget, ok_journe, ok_mensuel, ok_instan, ok_hf, &
    88 &                     seuil_inversion, &
    99 &                     fact_cldcon, facttemps,ok_newmicro,iflag_cldcon, &
     
    1919 include "fisrtilp.h"
    2020 include "nuage.h"
    21    include "YOMCST.h"
     21 include "YOMCST.h"
    2222!IM : on inclut/initialise les taux de CH4, N2O, CFC11 et CFC12
    2323include "clesphys.h"
     
    3535! ok_veget:   type de modele de vegetation
    3636! ok_journe:  sorties journalieres
     37! ok_hf:  sorties haute frequence
    3738! ok_mensuel: sorties mensuelles
    3839! ok_instan:  sorties instantanees
     
    4546  character (len = 6)  :: ocean
    4647  logical              :: ok_veget, ok_newmicro
    47   logical              :: ok_journe, ok_mensuel, ok_instan       
     48  logical              :: ok_journe, ok_mensuel, ok_instan, ok_hf
    4849  LOGICAL              :: ok_ade, ok_aie
    4950  REAL                 :: bl95_b0, bl95_b1
     
    5455  character (len = 6),SAVE  :: ocean_omp
    5556  logical,SAVE              :: ok_veget_omp, ok_newmicro_omp
    56   logical,SAVE        :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp       
     57  logical,SAVE        :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp       
    5758  LOGICAL,SAVE        :: ok_ade_omp, ok_aie_omp
    5859  REAL,SAVE           :: bl95_b0_omp, bl95_b1_omp
     60  REAL,SAVE           :: freq_ISCCP_omp, ecrit_ISCCP_omp
    5961  real,SAVE           :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp
    6062  real,SAVE           :: ratqshaut_omp
     
    8486  INTEGER,SAVE :: top_height_omp,overlap_omp
    8587  REAL,SAVE :: cdmmax_omp,cdhmax_omp,ksta_omp,ksta_ter_omp
    86   LOGICAL,SAVE :: ok_kzmin_omp
     88  LOGICAL,SAVE :: ok_kzmin_omp, fmagic_omp
    8789  INTEGER,SAVE :: iflag_pbl_omp,lev_histhf_omp,lev_histday_omp,lev_histmth_omp
    8890  CHARACTER*4, SAVE :: type_run_omp
     
    115117  call getin('VEGET', ok_veget_omp)
    116118!
    117 !Config Key  = OK_journe
     119!Config Key  = ok_journe
    118120!Config Desc = Pour des sorties journalieres
    119121!Config Def  = .false.
     
    122124!
    123125  ok_journe_omp = .false.
    124   call getin('OK_journe', ok_journe_omp)
     126  call getin('ok_journe', ok_journe_omp)
     127!
     128!Config Key  = ok_hf
     129!Config Desc = Pour des sorties haute frequence
     130!Config Def  = .false.
     131!Config Help = Pour creer le fichier histhf contenant les sorties
     132!              haute frequence ( 3h ou 6h)
     133!
     134  ok_hf_omp = .false.
     135  call getin('ok_hf', ok_hf_omp)
    125136!
    126137!Config Key  = OK_mensuel
     
    176187  call getin('bl95_b1', bl95_b1_omp)
    177188
    178 !
     189!Config Key  = freq_ISCCP
     190!Config Desc = Frequence d'appel du simulateur ISCCP en secondes;
     191!              par defaut 10800, i.e. 3 heures
     192!Config Def  = 10800.
     193!Config Help = Used in ini_histISCCP.h
     194!
     195  freq_ISCCP_omp = 10800.
     196  call getin('freq_ISCCP', freq_ISCCP_omp)
     197!
     198!Config Key  = ecrit_ISCCP
     199!Config Desc = Frequence d'ecriture des resultats du simulateur ISCCP en nombre de jours;
     200!              par defaut 1., i.e. 1 jour
     201!Config Def  = 1.
     202!Config Help = Used in ini_histISCCP.h
     203!
     204!
     205  ecrit_ISCCP_omp = 1.
     206  call getin('ecrit_ISCCP', ecrit_ISCCP_omp)
    179207!
    180208!Config Key  = ip_ebil_phy
     
    584612  call getin('ok_kzmin',ok_kzmin_omp)
    585613
     614!
     615!Config Key  = fmagic
     616!Config Desc =
     617!Config Def  = 1.
     618!Config Help = Used in albedo.F
     619!
     620  fmagic_omp = 1.
     621  call getin('fmagic',fmagic_omp)
     622
    586623!Config Key = ok_lic_melt
    587624!Config Desc = Prise en compte de la fonte de la calotte dans le bilan d'eau
     
    658695  call getin('type_run',type_run_omp)
    659696
    660   !
     697!
    661698!Config Key  = ok_isccp
    662699!Config Desc =
     
    715752!Config Desc =
    716753!Config Def  = 1.0 !tous les jours
    717 !Config Help =
     754!Config Help = nombre de jours pour ecriture fichier histday.nc
    718755!
    719756  ecrit_day_omp = 1.0
     
    795832    ksta_ter = ksta_ter_omp
    796833    ok_kzmin = ok_kzmin_omp
     834    fmagic = fmagic_omp
    797835    iflag_pbl = iflag_pbl_omp
    798836    lev_histhf = lev_histhf_omp
     
    804842    ok_newmicro = ok_newmicro_omp
    805843    ok_journe = ok_journe_omp
     844    ok_hf = ok_hf_omp
    806845    ok_mensuel = ok_mensuel_omp
    807846    ok_instan = ok_instan_omp
     847    freq_ISCCP = freq_ISCCP_omp
     848    ecrit_ISCCP = ecrit_ISCCP_omp
    808849    ok_ade = ok_ade_omp
    809850    ok_aie = ok_aie_omp
     
    842883  write(numout,*)' Config veget = ', ok_veget
    843884  write(numout,*)' Sortie journaliere = ', ok_journe
     885  write(numout,*)' Sortie haute frequence = ', ok_hf
    844886  write(numout,*)' Sortie mensuelle = ', ok_mensuel
    845887  write(numout,*)' Sortie instantanee = ', ok_instan
     888  write(numout,*)' Frequence appel simulateur ISCCP, freq_ISCCP =', freq_ISCCP
     889  write(numout,*)' Frequence appel simulateur ISCCP, ecrit_ISCCP =', ecrit_ISCCP
    846890  write(numout,*)' Sortie bilan d''energie, ip_ebil_phy =', ip_ebil_phy
    847891  write(numout,*)' Excentricite = ',R_ecc
     
    884928  write(numout,*)' ksta_ter = ',ksta_ter
    885929  write(numout,*)' ok_kzmin = ',ok_kzmin
     930  write(numout,*)' fmagic = ',fmagic
    886931  write(numout,*)' ok_ade = ',ok_ade
    887932  write(numout,*)' ok_aie = ',ok_aie
     
    897942  write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',&
    898943 & lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
    899   write(numout,*)' ecrit_ hf, day, mth, reg',&
    900  & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra
     944  write(numout,*)' ecrit_ hf, day, mth, reg, tra, ISCCP',&
     945 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP
    901946
    902947!$OMP END MASTER
  • LMDZ4/trunk/libf/phytherm/physiq.F

    r814 r833  
    401401      INTEGER jmin_debut, nbptj
    402402cIM parametres ISCCP BEG
    403       INTEGER nbapp_isccp,isccppas
     403      INTEGER nbapp_isccp
     404!     INTEGER nbapp_isccp,isccppas
     405!     PARAMETER(isccppas=6) !appel du simulateurs tous les 6pas de temps de la physique
     406!                           !i.e. toutes les 3 heures
    404407      INTEGER n, napisccp
    405408c     PARAMETER(napisccp=3)
     
    435438      INTEGER ncolmx, seed(klon,napisccp)
    436439      REAL nbsunlit(nregISCtot,klon,napisccp)  !nbsunlit : moyenne de sunlit
    437       PARAMETER(ncolmx=350)
     440c     PARAMETER(ncolmx=1500)
     441      PARAMETER(ncolmx=300)
    438442c
    439443cIM verif boxptop BEG
     
    511515c$OMP THREADPRIVATE(nid_isccp)
    512516
    513 c     data ok_isccp,ecrit_isccp/.true.,0.125/     
    514 c     data ok_isccp,ecrit_isccp/.true.,1./     
    515 cIM 190504     data ok_isccp/.true./     
    516 cIM 190504 #else
    517 cIM 190504     data ok_isccp/.false./
    518 cIM 190504 #endif
    519 
    520517      REAL zx_tau(kmaxm1), zx_pc(lmaxm1), zx_o500(iwmax)
    521518      DATA zx_tau/0.0, 0.3, 1.3, 3.6, 9.4, 23., 60./
    522519      SAVE zx_tau
    523 cIM bad 151205     DATA zx_pc/50., 180., 310., 440., 560., 680., 800./
    524520      DATA zx_pc/180., 310., 440., 560., 680., 800., 1000./
    525521      SAVE zx_pc
     
    616612c  QUESTION : noms de variables ?
    617613
    618 #ifdef histhf
    619       data ok_hf/.true./
    620 #else
    621       data ok_hf/.false./
    622 #endif
     614c#ifdef histhf
     615c      data ok_hf/.true./
     616c#else
     617c      data ok_hf/.false./
     618c#endif
    623619      INTEGER        longcles
    624620      PARAMETER    ( longcles = 20 )
     
    11831179      REAL tabcntr0( length       )
    11841180c
    1185 
    11861181      INTEGER ndex2d(iim*jjmp1),ndex3d(iim*jjmp1*klev)
    11871182cIM
     
    15451540c
    15461541         call conf_phys(ocean, ok_veget, ok_journe, ok_mensuel,
    1547      .                  ok_instan,seuil_inversion,
     1542     .                  ok_instan, ok_hf, seuil_inversion,
    15481543     .                  fact_cldcon, facttemps,ok_newmicro,
    15491544     .                  iflag_cldcon,iflag_ratqs,ratqsbas,ratqshaut,
     
    17161711cIM on passe les frequences de jours en secondes : ecrit_ins, ecrit_hf, ecrit_day, ecrit_mth, ecrit_tra, ecrit_reg
    17171712         ecrit_hf = ecrit_hf * un_jour
    1718          ecrit_day = ecrit_day * un_jour
     1713!IM
     1714         IF(ecrit_day.LE.1.) THEN
     1715          ecrit_day = ecrit_day * un_jour !en secondes
     1716         ENDIF
     1717!IM
    17191718         ecrit_mth = ecrit_mth * un_jour
    17201719         ecrit_reg = ecrit_reg * un_jour
    17211720         ecrit_tra = ecrit_tra * un_jour
     1721         ecrit_ISCCP = ecrit_ISCCP * un_jour
     1722c
     1723         PRINT*,'physiq ecrit_ hf day mth reg tra ISCCP',ecrit_hf,
     1724     .   ecrit_day,ecrit_mth,ecrit_reg,ecrit_tra,ecrit_ISCCP
    17221725cIM 030306 END
    17231726
     
    17641767#endif
    17651768
    1766 c#include "ini_histday_seri.h"
    17671769#include "ini_histday_seri.h"
    17681770
     
    26322634c
    26332635      IF (ok_isccp) THEN
     2636cIM appel simulateur toutes les  NINT(freq_ISCCP/dtime) heures
     2637       IF (MOD(itap,NINT(freq_ISCCP/dtime)).EQ.0) THEN
    26342638#include "calcul_simulISCCP.h"
     2639       ENDIF !(MOD(itap,NINT(freq_ISCCP/dtime))
    26352640      ENDIF !ok_isccp
    26362641
Note: See TracChangeset for help on using the changeset viewer.