Changeset 828


Ignore:
Timestamp:
Aug 28, 2007, 2:20:22 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/phylmd
Files:
5 edited

Legend:

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

    r793 r828  
    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/phylmd/conf_phys.F90

    r793 r828  
    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 &                     fact_cldcon, facttemps,ok_newmicro,iflag_cldcon, &
    99!IM&                   ratqsbas,ratqshaut,ip_ebil_phy, &
     
    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
     
    5354  character (len = 6),SAVE  :: ocean_omp
    5455  logical,SAVE              :: ok_veget_omp, ok_newmicro_omp
    55   logical,SAVE        :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp       
     56  logical,SAVE        :: ok_journe_omp, ok_mensuel_omp, ok_instan_omp, ok_hf_omp       
    5657  LOGICAL,SAVE        :: ok_ade_omp, ok_aie_omp
    5758  REAL,SAVE           :: bl95_b0_omp, bl95_b1_omp
     59  REAL,SAVE           :: freq_ISCCP_omp, ecrit_ISCCP_omp
    5860  real,SAVE           :: fact_cldcon_omp, facttemps_omp,ratqsbas_omp
    5961  real,SAVE           :: ratqshaut_omp
     
    7981  INTEGER,SAVE :: top_height_omp,overlap_omp
    8082  REAL,SAVE :: cdmmax_omp,cdhmax_omp,ksta_omp,ksta_ter_omp
    81   LOGICAL,SAVE :: ok_kzmin_omp
     83  LOGICAL,SAVE :: ok_kzmin_omp, fmagic_omp
    8284  INTEGER,SAVE :: iflag_pbl_omp,lev_histhf_omp,lev_histday_omp,lev_histmth_omp
    8385  CHARACTER*4, SAVE :: type_run_omp
     
    110112  call getin('VEGET', ok_veget_omp)
    111113!
    112 !Config Key  = OK_journe
     114!Config Key  = ok_journe
    113115!Config Desc = Pour des sorties journalieres
    114116!Config Def  = .false.
     
    117119!
    118120  ok_journe_omp = .false.
    119   call getin('OK_journe', ok_journe_omp)
     121  call getin('ok_journe', ok_journe_omp)
     122!
     123!Config Key  = ok_hf
     124!Config Desc = Pour des sorties haute frequence
     125!Config Def  = .false.
     126!Config Help = Pour creer le fichier histhf contenant les sorties
     127!              haute frequence ( 3h ou 6h)
     128!
     129  ok_hf_omp = .false.
     130  call getin('ok_hf', ok_hf_omp)
    120131!
    121132!Config Key  = OK_mensuel
     
    171182  call getin('bl95_b1', bl95_b1_omp)
    172183
    173 !
     184!Config Key  = freq_ISCCP
     185!Config Desc = Frequence d'appel du simulateur ISCCP en secondes;
     186!              par defaut 10800, i.e. 3 heures
     187!Config Def  = 10800.
     188!Config Help = Used in ini_histISCCP.h
     189!
     190  freq_ISCCP_omp = 10800.
     191  call getin('freq_ISCCP', freq_ISCCP_omp)
     192!
     193!Config Key  = ecrit_ISCCP
     194!Config Desc = Frequence d'ecriture des resultats du simulateur ISCCP en nombre de jours;
     195!              par defaut 1., i.e. 1 jour
     196!Config Def  = 1.
     197!Config Help = Used in ini_histISCCP.h
     198!
     199!
     200  ecrit_ISCCP_omp = 1.
     201  call getin('ecrit_ISCCP', ecrit_ISCCP_omp)
    174202!
    175203!Config Key  = ip_ebil_phy
     
    562590  call getin('ok_kzmin',ok_kzmin_omp)
    563591
     592!
     593!Config Key  = fmagic
     594!Config Desc =
     595!Config Def  = 1.
     596!Config Help = Used in albedo.F
     597!
     598  fmagic_omp = 1.
     599  call getin('fmagic',fmagic_omp)
     600
    564601!Config Key = ok_lic_melt
    565602!Config Desc = Prise en compte de la fonte de la calotte dans le bilan d'eau
     
    636673  call getin('type_run',type_run_omp)
    637674
    638   !
     675!
    639676!Config Key  = ok_isccp
    640677!Config Desc =
     
    693730!Config Desc =
    694731!Config Def  = 1.0 !tous les jours
    695 !Config Help =
     732!Config Help = nombre de jours pour ecriture fichier histday.nc
    696733!
    697734  ecrit_day_omp = 1.0
     
    773810    ksta_ter = ksta_ter_omp
    774811    ok_kzmin = ok_kzmin_omp
     812    fmagic = fmagic_omp
    775813    iflag_pbl = iflag_pbl_omp
    776814    lev_histhf = lev_histhf_omp
     
    782820    ok_newmicro = ok_newmicro_omp
    783821    ok_journe = ok_journe_omp
     822    ok_hf = ok_hf_omp
    784823    ok_mensuel = ok_mensuel_omp
    785824    ok_instan = ok_instan_omp
     825    freq_ISCCP = freq_ISCCP_omp
     826    ecrit_ISCCP = ecrit_ISCCP_omp
    786827    ok_ade = ok_ade_omp
    787828    ok_aie = ok_aie_omp
     
    818859  write(numout,*)' Config veget = ', ok_veget
    819860  write(numout,*)' Sortie journaliere = ', ok_journe
     861  write(numout,*)' Sortie haute frequence = ', ok_hf
    820862  write(numout,*)' Sortie mensuelle = ', ok_mensuel
    821863  write(numout,*)' Sortie instantanee = ', ok_instan
     864  write(numout,*)' Frequence appel simulateur ISCCP, freq_ISCCP =', freq_ISCCP
     865  write(numout,*)' Frequence appel simulateur ISCCP, ecrit_ISCCP =', ecrit_ISCCP
    822866  write(numout,*)' Sortie bilan d''energie, ip_ebil_phy =', ip_ebil_phy
    823867  write(numout,*)' Excentricite = ',R_ecc
     
    858902  write(numout,*)' ksta_ter = ',ksta_ter
    859903  write(numout,*)' ok_kzmin = ',ok_kzmin
     904  write(numout,*)' fmagic = ',fmagic
    860905  write(numout,*)' ok_ade = ',ok_ade
    861906  write(numout,*)' ok_aie = ',ok_aie
     
    871916  write(numout,*)' lonmin lonmax latmin latmax bilKP_ins =',&
    872917 & lonmin_ins, lonmax_ins, latmin_ins, latmax_ins
    873   write(numout,*)' ecrit_ hf, day, mth, reg',&
    874  & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra
     918  write(numout,*)' ecrit_ hf, day, mth, reg, tra, ISCCP',&
     919 & ecrit_hf, ecrit_day, ecrit_mth, ecrit_reg, ecrit_tra, ecrit_ISCCP
    875920
    876921!$OMP END MASTER
  • LMDZ4/trunk/libf/phylmd/ini_paramLMDZ_phy.h

    r776 r828  
    347347     .                "once", zstophy,zout)
    348348c
    349        CALL histdef(nid_ctesGCM, "freqin_isccp",
    350      .                "freqin_isccp", "-",
    351      .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    352      .                "once", zstophy,zout)
    353 c
    354        CALL histdef(nid_ctesGCM, "freqout_isccp",
    355      .                "freqout_isccp", "-",
     349       CALL histdef(nid_ctesGCM, "freq_ISCCP",
     350     .                "freq_ISCCP", "-",
     351     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
     352     .                "once", zstophy,zout)
     353c
     354       CALL histdef(nid_ctesGCM, "ecrit_ISCCP",
     355     .                "ecrit_ISCCP", "-",
    356356     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
    357357     .                "once", zstophy,zout)
  • LMDZ4/trunk/libf/phylmd/physiq.F

    r800 r828  
    385385      INTEGER jmin_debut, nbptj
    386386cIM parametres ISCCP BEG
    387       INTEGER nbapp_isccp,isccppas
     387      INTEGER nbapp_isccp
     388!     INTEGER nbapp_isccp,isccppas
     389!     PARAMETER(isccppas=6) !appel du simulateurs tous les 6pas de temps de la physique
     390!                           !i.e. toutes les 3 heures
    388391      INTEGER n, napisccp
    389392c     PARAMETER(napisccp=3)
     
    419422      INTEGER ncolmx, seed(klon,napisccp)
    420423      REAL nbsunlit(nregISCtot,klon,napisccp)  !nbsunlit : moyenne de sunlit
    421       PARAMETER(ncolmx=350)
     424c     PARAMETER(ncolmx=1500)
     425      PARAMETER(ncolmx=300)
    422426c
    423427cIM verif boxptop BEG
     
    495499c$OMP THREADPRIVATE(nid_isccp)
    496500
    497 c     data ok_isccp,ecrit_isccp/.true.,0.125/     
    498 c     data ok_isccp,ecrit_isccp/.true.,1./     
    499 cIM 190504     data ok_isccp/.true./     
    500 cIM 190504 #else
    501 cIM 190504     data ok_isccp/.false./
    502 cIM 190504 #endif
    503 
    504501      REAL zx_tau(kmaxm1), zx_pc(lmaxm1), zx_o500(iwmax)
    505502      DATA zx_tau/0.0, 0.3, 1.3, 3.6, 9.4, 23., 60./
    506503      SAVE zx_tau
    507 cIM bad 151205     DATA zx_pc/50., 180., 310., 440., 560., 680., 800./
    508504      DATA zx_pc/180., 310., 440., 560., 680., 800., 1000./
    509505      SAVE zx_pc
     
    600596c  QUESTION : noms de variables ?
    601597
    602 #ifdef histhf
    603       data ok_hf/.true./
    604 #else
    605       data ok_hf/.false./
    606 #endif
     598c#ifdef histhf
     599c      data ok_hf/.true./
     600c#else
     601c      data ok_hf/.false./
     602c#endif
    607603      INTEGER        longcles
    608604      PARAMETER    ( longcles = 20 )
     
    11671163      REAL tabcntr0( length       )
    11681164c
    1169 
    11701165      INTEGER ndex2d(iim*jjmp1),ndex3d(iim*jjmp1*klev)
    11711166cIM
     
    15261521c
    15271522         call conf_phys(ocean, ok_veget, ok_journe, ok_mensuel,
    1528      .                  ok_instan, fact_cldcon, facttemps,ok_newmicro,
     1523     .                  ok_instan, ok_hf,
     1524     .                  fact_cldcon, facttemps,ok_newmicro,
    15291525cIM  .                  iflag_cldcon,ratqsbas,ratqshaut, if_ebil,
    15301526     .                  iflag_cldcon,ratqsbas,ratqshaut,
     
    16961692cIM on passe les frequences de jours en secondes : ecrit_ins, ecrit_hf, ecrit_day, ecrit_mth, ecrit_tra, ecrit_reg
    16971693         ecrit_hf = ecrit_hf * un_jour
    1698          ecrit_day = ecrit_day * un_jour
     1694!IM
     1695         IF(ecrit_day.LE.1.) THEN
     1696          ecrit_day = ecrit_day * un_jour !en secondes
     1697         ENDIF
     1698!IM
    16991699         ecrit_mth = ecrit_mth * un_jour
    17001700         ecrit_reg = ecrit_reg * un_jour
    17011701         ecrit_tra = ecrit_tra * un_jour
     1702         ecrit_ISCCP = ecrit_ISCCP * un_jour
     1703c
     1704         PRINT*,'physiq ecrit_ hf day mth reg tra ISCCP',ecrit_hf,
     1705     .   ecrit_day,ecrit_mth,ecrit_reg,ecrit_tra,ecrit_ISCCP
    17021706cIM 030306 END
    17031707
     
    17441748#endif
    17451749
    1746 c#include "ini_histday_seri.h"
    17471750#include "ini_histday_seri.h"
    17481751
     
    25332536c
    25342537      IF (ok_isccp) THEN
     2538cIM appel simulateur toutes les  NINT(freq_ISCCP/dtime) heures
     2539       IF (MOD(itap,NINT(freq_ISCCP/dtime)).EQ.0) THEN
    25352540#include "calcul_simulISCCP.h"
     2541       ENDIF !(MOD(itap,NINT(freq_ISCCP/dtime))
    25362542      ENDIF !ok_isccp
    25372543
  • LMDZ4/trunk/libf/phylmd/write_paramLMDZ_phy.h

    r784 r828  
    327327     .               zx_tmp_2d,iim*jjmp1,ndex2d)
    328328c
    329       zx_tmp_2d(1:iim,1:jjmp1)=freqin_isccp
    330       CALL histwrite(nid_ctesGCM,"freqin_isccp",itau_w,
    331      .               zx_tmp_2d,iim*jjmp1,ndex2d)
    332 c
    333       zx_tmp_2d(1:iim,1:jjmp1)=freqout_isccp
    334       CALL histwrite(nid_ctesGCM,"freqout_isccp",itau_w,
     329      zx_tmp_2d(1:iim,1:jjmp1)=freq_ISCCP
     330      CALL histwrite(nid_ctesGCM,"freq_ISCCP",itau_w,
     331     .               zx_tmp_2d,iim*jjmp1,ndex2d)
     332c
     333      zx_tmp_2d(1:iim,1:jjmp1)=ecrit_ISCCP
     334      CALL histwrite(nid_ctesGCM,"ecrit_ISCCP",itau_w,
    335335     .               zx_tmp_2d,iim*jjmp1,ndex2d)
    336336c
Note: See TracChangeset for help on using the changeset viewer.