Ignore:
Timestamp:
Apr 12, 2012, 5:35:34 PM (13 years ago)
Author:
slebonnois
Message:

SL: mise a jour de conf_gcm (cosmetique)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.COMMON/libf/dyn3d/conf_gcm.F

    r495 r617  
    3434#include "serre.h"
    3535#include "comdissnew.h"
     36#include "iniprint.h"
    3637#include "temps.h"
    3738#include "comconst.h"
     
    3940! FH 2008/05/09 On elimine toutes les clefs physiques dans la dynamique
    4041! #include "clesphys.h"
    41 #include "iniprint.h"
    4242c
    4343c
     
    410410       CALL getin('ip_ebil_dyn',ip_ebil_dyn)
    411411
     412!Config  Key  = offline
     413!Config  Desc = Nouvelle eau liquide
     414!Config  Def  = n
     415!Config  Help = Permet de mettre en route la
     416!Config         nouvelle parametrisation de l'eau liquide !
     417       offline = .FALSE.
     418       CALL getin('offline',offline)
     419
     420!Config  Key  = type_trac
     421!Config  Desc = Choix de couplage avec model de chimie INCA ou REPROBUS
     422!Config  Def  = lmdz
     423!Config  Help =
     424!Config         'lmdz' = pas de couplage, pur LMDZ
     425!Config         'inca' = model de chime INCA
     426!Config         'repr' = model de chime REPROBUS
     427      type_trac = 'lmdz'
     428      CALL getin('type_trac',type_trac)
     429
     430!Config  Key  = config_inca
     431!Config  Desc = Choix de configuration de INCA
     432!Config  Def  = none
     433!Config  Help = Choix de configuration de INCA :
     434!Config         'none' = sans INCA
     435!Config         'chem' = INCA avec calcul de chemie
     436!Config         'aero' = INCA avec calcul des aerosols
     437      config_inca = 'none'
     438      CALL getin('config_inca',config_inca)
     439
     440!Config  Key  = ok_dynzon
     441!Config  Desc = calcul et sortie des transports
     442!Config  Def  = n
     443!Config  Help = Permet de mettre en route le calcul des transports
     444!Config         
     445      ok_dynzon = .FALSE.
     446      CALL getin('ok_dynzon',ok_dynzon)
     447
     448!Config  Key  = ok_dyn_ins
     449!Config  Desc = sorties instantanees dans la dynamique
     450!Config  Def  = n
     451!Config  Help =
     452!Config         
     453      ok_dyn_ins = .FALSE.
     454      CALL getin('ok_dyn_ins',ok_dyn_ins)
     455
     456!Config  Key  = ok_dyn_ave
     457!Config  Desc = sorties moyennes dans la dynamique
     458!Config  Def  = n
     459!Config  Help =
     460!Config         
     461      ok_dyn_ave = .FALSE.
     462      CALL getin('ok_dyn_ave',ok_dyn_ave)
     463
     464!Config  Key  = use_filtre_fft
     465!Config  Desc = flag d'activation des FFT pour le filtre
     466!Config  Def  = false
     467!Config  Help = permet d'activer l'utilisation des FFT pour effectuer
     468!Config         le filtrage aux poles.
     469! Le filtre fft n'est pas implemente dans dyn3d
     470      use_filtre_fft=.FALSE.
     471      CALL getin('use_filtre_fft',use_filtre_fft)
     472
     473      IF (use_filtre_fft) THEN
     474        write(lunout,*)'STOP !!!'
     475        write(lunout,*)'use_filtre_fft n est pas implemente dans dyn3d'
     476        STOP
     477      ENDIF
     478     
     479!Config key = ok_strato
     480!Config  Desc = activation de la version strato
     481!Config  Def  = .FALSE.
     482!Config  Help = active la version stratosphérique de LMDZ de F. Lott
     483
     484      ok_strato=.TRUE.
     485      CALL getin('ok_strato',ok_strato)
     486
     487!Config  Key  = ok_gradsfile
     488!Config  Desc = activation des sorties grads du guidage
     489!Config  Def  = n
     490!Config  Help = active les sorties grads du guidage
     491
     492       ok_gradsfile = .FALSE.
     493       CALL getin('ok_gradsfile',ok_gradsfile)
     494
     495!Config  Key  = ok_limit
     496!Config  Desc = creation des fichiers limit dans create_etat0_limit
     497!Config  Def  = y
     498!Config  Help = production du fichier limit.nc requise
     499
     500       ok_limit = .TRUE.
     501       CALL getin('ok_limit',ok_limit)
     502
     503!Config  Key  = ok_etat0
     504!Config  Desc = creation des fichiers etat0 dans create_etat0_limit
     505!Config  Def  = y
     506!Config  Help = production des fichiers start.nc, startphy.nc requise
     507
     508      ok_etat0 = .TRUE.
     509      CALL getin('ok_etat0',ok_etat0)
     510
     511!Config  Key  = grilles_gcm_netcdf
     512!Config  Desc = creation de fichier grilles_gcm.nc dans create_etat0_limit
     513!Config  Def  = n
     514      grilles_gcm_netcdf = .FALSE.
     515      CALL getin('grilles_gcm_netcdf',grilles_gcm_netcdf)
     516
     517c----------------------------------------
    412518ccc  ....   P. Le Van , ajout  le 7/03/95 .pour le zoom ...
    413519c     .........   (  modif  le 17/04/96 )   .........
    414520c
    415       IF( etatinit ) GO TO 100
     521C ZOOM PARAMETERS ... the ones read in start.nc prevail anyway ! (SL, 2012)
     522c
     523c----------------------------------------
     524      IF( etatinit ) then
     525
     526!Config  Key  = clon
     527!Config  Desc = centre du zoom, longitude
     528!Config  Def  = 0
     529!Config  Help = longitude en degres du centre
     530!Config         du zoom
     531       clon = 0.
     532       CALL getin('clon',clon)
     533
     534!Config  Key  = clat
     535!Config  Desc = centre du zoom, latitude
     536!Config  Def  = 0
     537!Config  Help = latitude en degres du centre du zoom
     538!Config         
     539       clat = 0.
     540       CALL getin('clat',clat)
     541
     542!Config  Key  = grossismx
     543!Config  Desc = zoom en longitude
     544!Config  Def  = 1.0
     545!Config  Help = facteur de grossissement du zoom,
     546!Config         selon la longitude
     547       grossismx = 1.0
     548       CALL getin('grossismx',grossismx)
     549
     550!Config  Key  = grossismy
     551!Config  Desc = zoom en latitude
     552!Config  Def  = 1.0
     553!Config  Help = facteur de grossissement du zoom,
     554!Config         selon la latitude
     555       grossismy = 1.0
     556       CALL getin('grossismy',grossismy)
     557
     558      IF( grossismx.LT.1. )  THEN
     559        write(lunout,*)
     560     &   'conf_gcm: ***  ATTENTION !! grossismx < 1 .   *** '
     561         STOP
     562      ELSE
     563         alphax = 1. - 1./ grossismx
     564      ENDIF
     565
     566
     567      IF( grossismy.LT.1. )  THEN
     568        write(lunout,*)
     569     &  'conf_gcm: ***  ATTENTION !! grossismy < 1 .   *** '
     570         STOP
     571      ELSE
     572         alphay = 1. - 1./ grossismy
     573      ENDIF
     574
     575      write(lunout,*)'conf_gcm: alphax alphay ',alphax,alphay
     576c
     577c    alphax et alphay sont les anciennes formulat. des grossissements
     578c
     579c
     580
     581!Config  Key  = fxyhypb
     582!Config  Desc = Fonction  hyperbolique
     583!Config  Def  = y
     584!Config  Help = Fonction  f(y)  hyperbolique  si = .true. 
     585!Config         sinon  sinusoidale
     586       fxyhypb = .TRUE.
     587       CALL getin('fxyhypb',fxyhypb)
     588
     589!Config  Key  = dzoomx
     590!Config  Desc = extension en longitude
     591!Config  Def  = 0
     592!Config  Help = extension en longitude  de la zone du zoom 
     593!Config         ( fraction de la zone totale)
     594       dzoomx = 0.0
     595       CALL getin('dzoomx',dzoomx)
     596
     597!Config  Key  = dzoomy
     598!Config  Desc = extension en latitude
     599!Config  Def  = 0
     600!Config  Help = extension en latitude de la zone  du zoom 
     601!Config         ( fraction de la zone totale)
     602       dzoomy = 0.0
     603       CALL getin('dzoomy',dzoomy)
     604
     605!Config  Key  = taux
     606!Config  Desc = raideur du zoom en  X
     607!Config  Def  = 3
     608!Config  Help = raideur du zoom en  X
     609       taux = 3.0
     610       CALL getin('taux',taux)
     611
     612!Config  Key  = tauy
     613!Config  Desc = raideur du zoom en  Y
     614!Config  Def  = 3
     615!Config  Help = raideur du zoom en  Y
     616       tauy = 3.0
     617       CALL getin('tauy',tauy)
     618
     619!Config  Key  = ysinus
     620!Config  IF   = !fxyhypb
     621!Config  Desc = Fonction en Sinus
     622!Config  Def  = y
     623!Config  Help = Fonction  f(y) avec y = Sin(latit.) si = .true.
     624!Config         sinon y = latit.
     625       ysinus = .TRUE.
     626       CALL getin('ysinus',ysinus)
     627c
     628c----------------------------------------
     629       else ! etatinit=false
     630c----------------------------------------
    416631
    417632!Config  Key  = clon
     
    605820        ENDIF
    606821      ENDIF ! of IF( .NOT.fxyhypb  )
    607 c
    608 !Config  Key  = offline
    609 !Config  Desc = Nouvelle eau liquide
    610 !Config  Def  = n
    611 !Config  Help = Permet de mettre en route la
    612 !Config         nouvelle parametrisation de l'eau liquide !
    613        offline = .FALSE.
    614        CALL getin('offline',offline)
    615      
    616 !Config  Key  = type_trac
    617 !Config  Desc = Choix de couplage avec model de chimie INCA ou REPROBUS
    618 !Config  Def  = lmdz
    619 !Config  Help =
    620 !Config         'lmdz' = pas de couplage, pur LMDZ
    621 !Config         'inca' = model de chime INCA
    622 !Config         'repr' = model de chime REPROBUS
    623       type_trac = 'lmdz'
    624       CALL getin('type_trac',type_trac)
    625 
    626 !Config  Key  = config_inca
    627 !Config  Desc = Choix de configuration de INCA
    628 !Config  Def  = none
    629 !Config  Help = Choix de configuration de INCA :
    630 !Config         'none' = sans INCA
    631 !Config         'chem' = INCA avec calcul de chemie
    632 !Config         'aero' = INCA avec calcul des aerosols
    633       config_inca = 'none'
    634       CALL getin('config_inca',config_inca)
    635 
    636 !Config  Key  = ok_dynzon
    637 !Config  Desc = calcul et sortie des transports
    638 !Config  Def  = n
    639 !Config  Help = Permet de mettre en route le calcul des transports
    640 !Config         
    641       ok_dynzon = .FALSE.
    642       CALL getin('ok_dynzon',ok_dynzon)
    643 
    644 !Config  Key  = ok_dyn_ins
    645 !Config  Desc = sorties instantanees dans la dynamique
    646 !Config  Def  = n
    647 !Config  Help =
    648 !Config         
    649       ok_dyn_ins = .FALSE.
    650       CALL getin('ok_dyn_ins',ok_dyn_ins)
    651 
    652 !Config  Key  = ok_dyn_ave
    653 !Config  Desc = sorties moyennes dans la dynamique
    654 !Config  Def  = n
    655 !Config  Help =
    656 !Config         
    657       ok_dyn_ave = .FALSE.
    658       CALL getin('ok_dyn_ave',ok_dyn_ave)
     822
     823      endif ! etatinit
     824c----------------------------------------
    659825
    660826
    661827      write(lunout,*)' #########################################'
    662       write(lunout,*)' Configuration des parametres du gcm: '
    663       write(lunout,*)' planet_type = ', planet_type
    664       write(lunout,*)' calend = ', calend
    665       write(lunout,*)' dayref = ', dayref
    666       write(lunout,*)' anneeref = ', anneeref
    667       write(lunout,*)' nday = ', nday
    668       if (less1day) then
    669       write(lunout,*)' Run only for a fraction of day ! '
    670       write(lunout,*)' fractday = ', fractday
    671       endif
    672       write(lunout,*)' day_step = ', day_step
    673       write(lunout,*)' iperiod = ', iperiod
    674       write(lunout,*)' iconser = ', iconser
    675       write(lunout,*)' iecri = ', iecri
    676       write(lunout,*)' periodav = ', periodav
    677       write(lunout,*)' output_grads_dyn = ', output_grads_dyn
    678       write(lunout,*)' dissip_period = ', dissip_period
    679       write(lunout,*)' lstardis = ', lstardis
    680       write(lunout,*)' nitergdiv = ', nitergdiv
    681       write(lunout,*)' nitergrot = ', nitergrot
    682       write(lunout,*)' niterh = ', niterh
    683       write(lunout,*)' tetagdiv = ', tetagdiv
    684       write(lunout,*)' tetagrot = ', tetagrot
    685       write(lunout,*)' tetatemp = ', tetatemp
    686       write(lunout,*)' coefdis = ', coefdis
    687       write(lunout,*)' purmats = ', purmats
    688       write(lunout,*)' read_start = ', read_start
    689       write(lunout,*)' iflag_phys = ', iflag_phys
    690       write(lunout,*)' iphysiq = ', iphysiq
    691       write(lunout,*)' iflag_trac = ', iflag_trac
    692       write(lunout,*)' clonn = ', clonn
    693       write(lunout,*)' clatt = ', clatt
    694       write(lunout,*)' grossismx = ', grossismx
    695       write(lunout,*)' grossismy = ', grossismy
    696       write(lunout,*)' fxyhypbb = ', fxyhypbb
    697       write(lunout,*)' dzoomxx = ', dzoomxx
    698       write(lunout,*)' dzoomy = ', dzoomyy
    699       write(lunout,*)' tauxx = ', tauxx
    700       write(lunout,*)' tauyy = ', tauyy
    701       write(lunout,*)' offline = ', offline
    702       write(lunout,*)' type_trac = ', type_trac
    703       write(lunout,*)' config_inca = ', config_inca
    704       write(lunout,*)' ok_dynzon = ', ok_dynzon
    705       write(lunout,*)' ok_dyn_ins = ', ok_dyn_ins
    706       write(lunout,*)' ok_dyn_ave = ', ok_dyn_ave
    707 
    708       RETURN
    709 c   ...............................................
    710 c
    711 100   CONTINUE
    712 !Config  Key  = clon
    713 !Config  Desc = centre du zoom, longitude
    714 !Config  Def  = 0
    715 !Config  Help = longitude en degres du centre
    716 !Config         du zoom
    717        clon = 0.
    718        CALL getin('clon',clon)
    719 
    720 !Config  Key  = clat
    721 !Config  Desc = centre du zoom, latitude
    722 !Config  Def  = 0
    723 !Config  Help = latitude en degres du centre du zoom
    724 !Config         
    725        clat = 0.
    726        CALL getin('clat',clat)
    727 
    728 !Config  Key  = grossismx
    729 !Config  Desc = zoom en longitude
    730 !Config  Def  = 1.0
    731 !Config  Help = facteur de grossissement du zoom,
    732 !Config         selon la longitude
    733        grossismx = 1.0
    734        CALL getin('grossismx',grossismx)
    735 
    736 !Config  Key  = grossismy
    737 !Config  Desc = zoom en latitude
    738 !Config  Def  = 1.0
    739 !Config  Help = facteur de grossissement du zoom,
    740 !Config         selon la latitude
    741        grossismy = 1.0
    742        CALL getin('grossismy',grossismy)
    743 
    744       IF( grossismx.LT.1. )  THEN
    745         write(lunout,*)
    746      &   'conf_gcm: ***  ATTENTION !! grossismx < 1 .   *** '
    747          STOP
    748       ELSE
    749          alphax = 1. - 1./ grossismx
    750       ENDIF
    751 
    752 
    753       IF( grossismy.LT.1. )  THEN
    754         write(lunout,*)
    755      &  'conf_gcm: ***  ATTENTION !! grossismy < 1 .   *** '
    756          STOP
    757       ELSE
    758          alphay = 1. - 1./ grossismy
    759       ENDIF
    760 
    761       write(lunout,*)'conf_gcm: alphax alphay ',alphax,alphay
    762 c
    763 c    alphax et alphay sont les anciennes formulat. des grossissements
    764 c
    765 c
    766 
    767 !Config  Key  = fxyhypb
    768 !Config  Desc = Fonction  hyperbolique
    769 !Config  Def  = y
    770 !Config  Help = Fonction  f(y)  hyperbolique  si = .true. 
    771 !Config         sinon  sinusoidale
    772        fxyhypb = .TRUE.
    773        CALL getin('fxyhypb',fxyhypb)
    774 
    775 !Config  Key  = dzoomx
    776 !Config  Desc = extension en longitude
    777 !Config  Def  = 0
    778 !Config  Help = extension en longitude  de la zone du zoom 
    779 !Config         ( fraction de la zone totale)
    780        dzoomx = 0.0
    781        CALL getin('dzoomx',dzoomx)
    782 
    783 !Config  Key  = dzoomy
    784 !Config  Desc = extension en latitude
    785 !Config  Def  = 0
    786 !Config  Help = extension en latitude de la zone  du zoom 
    787 !Config         ( fraction de la zone totale)
    788        dzoomy = 0.0
    789        CALL getin('dzoomy',dzoomy)
    790 
    791 !Config  Key  = taux
    792 !Config  Desc = raideur du zoom en  X
    793 !Config  Def  = 3
    794 !Config  Help = raideur du zoom en  X
    795        taux = 3.0
    796        CALL getin('taux',taux)
    797 
    798 !Config  Key  = tauy
    799 !Config  Desc = raideur du zoom en  Y
    800 !Config  Def  = 3
    801 !Config  Help = raideur du zoom en  Y
    802        tauy = 3.0
    803        CALL getin('tauy',tauy)
    804 
    805 !Config  Key  = ysinus
    806 !Config  IF   = !fxyhypb
    807 !Config  Desc = Fonction en Sinus
    808 !Config  Def  = y
    809 !Config  Help = Fonction  f(y) avec y = Sin(latit.) si = .true.
    810 !Config         sinon y = latit.
    811        ysinus = .TRUE.
    812        CALL getin('ysinus',ysinus)
    813 c
    814 !Config  Key  = offline
    815 !Config  Desc = Nouvelle eau liquide
    816 !Config  Def  = n
    817 !Config  Help = Permet de mettre en route la
    818 !Config         nouvelle parametrisation de l'eau liquide !
    819        offline = .FALSE.
    820        CALL getin('offline',offline)
    821 
    822 !Config  Key  = type_trac
    823 !Config  Desc = Choix de couplage avec model de chimie INCA ou REPROBUS
    824 !Config  Def  = lmdz
    825 !Config  Help =
    826 !Config         'lmdz' = pas de couplage, pur LMDZ
    827 !Config         'inca' = model de chime INCA
    828 !Config         'repr' = model de chime REPROBUS
    829       type_trac = 'lmdz'
    830       CALL getin('type_trac',type_trac)
    831 
    832 !Config  Key  = config_inca
    833 !Config  Desc = Choix de configuration de INCA
    834 !Config  Def  = none
    835 !Config  Help = Choix de configuration de INCA :
    836 !Config         'none' = sans INCA
    837 !Config         'chem' = INCA avec calcul de chemie
    838 !Config         'aero' = INCA avec calcul des aerosols
    839       config_inca = 'none'
    840       CALL getin('config_inca',config_inca)
    841 
    842 !Config  Key  = ok_dynzon
    843 !Config  Desc = sortie des transports zonaux dans la dynamique
    844 !Config  Def  = n
    845 !Config  Help = 
    846 !Config         
    847        ok_dynzon = .FALSE.
    848        CALL getin('ok_dynzon',ok_dynzon)
    849 
    850 !Config  Key  = ok_dyn_ins
    851 !Config  Desc = sorties instantanees dans la dynamique
    852 !Config  Def  = n
    853 !Config  Help =
    854 !Config         
    855       ok_dyn_ins = .FALSE.
    856       CALL getin('ok_dyn_ins',ok_dyn_ins)
    857 
    858 !Config  Key  = ok_dyn_ave
    859 !Config  Desc = sorties moyennes dans la dynamique
    860 !Config  Def  = n
    861 !Config  Help =
    862 !Config         
    863       ok_dyn_ave = .FALSE.
    864       CALL getin('ok_dyn_ave',ok_dyn_ave)
    865 
    866 !Config  Key  = use_filtre_fft
    867 !Config  Desc = flag d'activation des FFT pour le filtre
    868 !Config  Def  = false
    869 !Config  Help = permet d'activer l'utilisation des FFT pour effectuer
    870 !Config         le filtrage aux poles.
    871 ! Le filtre fft n'est pas implemente dans dyn3d
    872       use_filtre_fft=.FALSE.
    873       CALL getin('use_filtre_fft',use_filtre_fft)
    874 
    875       IF (use_filtre_fft) THEN
    876         write(lunout,*)'STOP !!!'
    877         write(lunout,*)'use_filtre_fft n est pas implemente dans dyn3d'
    878         STOP
    879       ENDIF
    880      
    881 !Config key = ok_strato
    882 !Config  Desc = activation de la version strato
    883 !Config  Def  = .FALSE.
    884 !Config  Help = active la version stratosphérique de LMDZ de F. Lott
    885 
    886       ok_strato=.TRUE.
    887       CALL getin('ok_strato',ok_strato)
    888 
    889 !Config  Key  = ok_gradsfile
    890 !Config  Desc = activation des sorties grads du guidage
    891 !Config  Def  = n
    892 !Config  Help = active les sorties grads du guidage
    893 
    894        ok_gradsfile = .FALSE.
    895        CALL getin('ok_gradsfile',ok_gradsfile)
    896 
    897 !Config  Key  = ok_limit
    898 !Config  Desc = creation des fichiers limit dans create_etat0_limit
    899 !Config  Def  = y
    900 !Config  Help = production du fichier limit.nc requise
    901 
    902        ok_limit = .TRUE.
    903        CALL getin('ok_limit',ok_limit)
    904 
    905 !Config  Key  = ok_etat0
    906 !Config  Desc = creation des fichiers etat0 dans create_etat0_limit
    907 !Config  Def  = y
    908 !Config  Help = production des fichiers start.nc, startphy.nc requise
    909 
    910       ok_etat0 = .TRUE.
    911       CALL getin('ok_etat0',ok_etat0)
    912 
    913 !Config  Key  = grilles_gcm_netcdf
    914 !Config  Desc = creation de fichier grilles_gcm.nc dans create_etat0_limit
    915 !Config  Def  = n
    916       grilles_gcm_netcdf = .FALSE.
    917       CALL getin('grilles_gcm_netcdf',grilles_gcm_netcdf)
    918 
    919       write(lunout,*)' #########################################'
    920       write(lunout,*)' Configuration des parametres de cel0'
    921      &             //'_limit: '
     828      write(lunout,*)' Configuration des parametres lus via run.def '
    922829      write(lunout,*)' planet_type = ', planet_type
    923830      write(lunout,*)' calend = ', calend
Note: See TracChangeset for help on using the changeset viewer.