Ignore:
Timestamp:
Dec 6, 2022, 12:01:16 AM (18 months ago)
Author:
lguez
Message:

Sync latest trunk changes to Ocean_skin

Location:
LMDZ6/branches/Ocean_skin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Ocean_skin

  • LMDZ6/branches/Ocean_skin/libf/dyn3dmem/conf_gcm.F90

    r3809 r4368  
    66  USE control_mod
    77#ifdef CPP_IOIPSL
    8   use IOIPSL
     8  USE IOIPSL
    99#else
    1010  ! if not using IOIPSL, we still need to use (a local version of) getin
    11   use ioipsl_getincom
     11  USE ioipsl_getincom
    1212#endif
    13   use misc_mod
    14   use mod_filtre_fft, ONLY : use_filtre_fft
    15   use mod_filtre_fft_loc, ONLY : use_filtre_fft_loc=>use_filtre_fft
    16   use mod_hallo, ONLY : use_mpi_alloc
    17   USE infotrac, ONLY : type_trac
    18   use assert_m, only: assert
     13  USE misc_mod
     14  USE mod_filtre_fft, ONLY: use_filtre_fft
     15  USE mod_filtre_fft_loc, ONLY: use_filtre_fft_loc=>use_filtre_fft
     16  USE mod_hallo, ONLY: use_mpi_alloc
     17  USE infotrac, ONLY: type_trac
     18  USE assert_m, ONLY: assert
    1919  USE comconst_mod, ONLY: dissip_deltaz, dissip_factz, dissip_zref, &
    2020                          iflag_top_bound, mode_top_bound, tau_top_bound, &
     
    5555  LOGICAL  fxyhypbb, ysinuss
    5656  INTEGER i
    57   character(len=*),parameter :: modname="conf_gcm"
    58   character (len=80) :: abort_message
     57  CHARACTER(len=*), PARAMETER :: modname="conf_gcm"
     58  CHARACTER(len=80) :: abort_message
    5959#ifdef CPP_OMP
    60   integer,external :: OMP_GET_NUM_THREADS
     60  INTEGER, EXTERNAL :: OMP_GET_NUM_THREADS
    6161#endif
    6262
     
    102102
    103103  adjust=.false.
    104   call getin('adjust',adjust)
     104  CALL getin('adjust',adjust)
    105105
    106106#ifdef CPP_OMP
    107107  ! adjust=y not implemented in case of OpenMP threads...
    108108  !$OMP PARALLEL
    109   if ((OMP_GET_NUM_THREADS()>1).and.adjust) then
     109  IF ((OMP_GET_NUM_THREADS()>1).and.adjust) then
    110110     write(lunout,*)'conf_gcm: Error, adjust should be set to n' &
    111111          ,' when running with OpenMP threads'
    112112     abort_message = 'Wrong value for adjust'
    113      call abort_gcm(modname,abort_message,1)
    114   endif
     113     CALL abort_gcm(modname,abort_message,1)
     114  ENDIF
    115115  !$OMP END PARALLEL         
    116116#endif
    117117
    118118  itaumax=0
    119   call getin('itaumax',itaumax);
    120   if (itaumax<=0) itaumax=HUGE(itaumax)
     119  CALL getin('itaumax',itaumax);
     120  IF (itaumax<=0) itaumax=HUGE(itaumax)
    121121
    122122  !Config  Key  = prt_level
     
    146146! initialize year_len for aquaplanets and 1D
    147147  CALL getin('calend', calend)
    148      if (calend == 'earth_360d') then
    149         year_len=360
    150       else if (calend == 'earth_365d') then
    151         year_len=365
    152       else if (calend == 'earth_366d') then
    153         year_len=366
    154       else
    155         year_len=1
    156       endif
    157  
     148  IF (calend == 'earth_360d') THEN
     149    year_len=360
     150  ELSE IF (calend == 'earth_365d') THEN
     151    year_len=365
     152  ELSE IF (calend == 'earth_366d') THEN
     153    year_len=366
     154  ELSE
     155    year_len=1
     156  ENDIF
    158157
    159158  !Config  Key  = dayref
     
    345344  ngroup=3
    346345  CALL getin('ngroup',ngroup)
    347   if (mod(iim, 2**ngroup) /= 0) &
     346  IF (mod(iim, 2**ngroup) /= 0) &
    348347       call abort_gcm("conf_gcm", 'iim must be multiple of 2**ngroup', 1)
    349   if (2**ngroup > jjm + 1) &
     348  IF (2**ngroup > jjm + 1) &
    350349       call abort_gcm("conf_gcm", '2**ngroup must be <= jjm + 1', 1)
    351350
     
    357356  iflag_top_bound=1
    358357  CALL getin('iflag_top_bound',iflag_top_bound)
     358  IF (iflag_top_bound < 0 .or. iflag_top_bound > 2) &
     359       call abort_gcm("conf_gcm", 'iflag_top_bound must be 0, 1 or 2', 1)
    359360
    360361  ! mode_top_bound : fields towards which sponge relaxation will be done:
     
    392393  CALL getin('ok_guide',ok_guide)
    393394
    394   if (ok_guide .and. adjust) call abort_gcm("conf_gcm", &
     395  IF (ok_guide .and. adjust) call abort_gcm("conf_gcm", &
    395396       "adjust does not work with ok_guide", 1)
    396397
     
    632633        WRITE(lunout,*)  &
    633634             'only the file phystoke.nc will still be created '
    634      END IF
     635     ENDIF
    635636
    636637     !Config  Key  = type_trac
     
    644645     CALL getin('type_trac',type_trac)
    645646
    646      !Config  Key  = config_inca
    647      !Config  Desc = Choix de configuration de INCA
    648      !Config  Def  = none
    649      !Config  Help = Choix de configuration de INCA :
    650      !Config         'none' = sans INCA
    651      !Config         'chem' = INCA avec calcul de chemie
    652      !Config         'aero' = INCA avec calcul des aerosols
    653      config_inca = 'none'
    654      CALL getin('config_inca',config_inca)
    655 
    656647     !Config  Key  = ok_dynzon
    657648     !Config  Desc = calcul et sortie des transports
     
    677668     ok_dyn_ave = .FALSE.
    678669     CALL getin('ok_dyn_ave',ok_dyn_ave)
     670
     671     !Config  Key  = ok_dyn_xios
     672     !Config  Desc = sorties moyennes dans la dynamique
     673     !Config  Def  = n
     674     !Config  Help =
     675     !Config         
     676     ok_dyn_xios = .FALSE.
     677     CALL getin('ok_dyn_xios',ok_dyn_xios)
    679678
    680679     write(lunout,*)' #########################################'
     
    716715     write(lunout,*)' offline = ', offline
    717716     write(lunout,*)' type_trac = ', type_trac
    718      write(lunout,*)' config_inca = ', config_inca
    719717     write(lunout,*)' ok_dynzon = ', ok_dynzon
    720718     write(lunout,*)' ok_dyn_ins = ', ok_dyn_ins
    721719     write(lunout,*)' ok_dyn_ave = ', ok_dyn_ave
     720     write(lunout,*)' ok_dyn_xios = ', ok_dyn_xios
    722721  else
    723722     !Config  Key  = clon
     
    754753
    755754     IF( grossismx.LT.1. )  THEN
    756         write(lunout,*) &
    757              'conf_gcm: ***  ATTENTION !! grossismx < 1 .   *** '
     755        write(lunout,*) 'conf_gcm: ***ATTENTION !! grossismx < 1 . *** '
    758756        STOP
    759757     ELSE
     
    768766     ENDIF
    769767
    770      write(lunout,*)'conf_gcm: alphax alphay ',alphax,alphay
     768     write(lunout,*) 'conf_gcm: alphax alphay ',alphax,alphay
    771769
    772770     !    alphax et alphay sont les anciennes formulat. des grossissements
     
    835833        WRITE(lunout,*)  &
    836834             'only the file phystoke.nc will still be created '
    837      END IF
     835     ENDIF
    838836
    839837     !Config  Key  = type_trac
     
    847845     CALL getin('type_trac',type_trac)
    848846
    849      !Config  Key  = config_inca
    850      !Config  Desc = Choix de configuration de INCA
    851      !Config  Def  = none
    852      !Config  Help = Choix de configuration de INCA :
    853      !Config         'none' = sans INCA
    854      !Config         'chem' = INCA avec calcul de chemie
    855      !Config         'aero' = INCA avec calcul des aerosols
    856      config_inca = 'none'
    857      CALL getin('config_inca',config_inca)
    858 
    859847     !Config  Key  = ok_dynzon
    860848     !Config  Desc = sortie des transports zonaux dans la dynamique
     
    880868     ok_dyn_ave = .FALSE.
    881869     CALL getin('ok_dyn_ave',ok_dyn_ave)
     870
     871     !Config  Key  = ok_dyn_xios
     872     !Config  Desc = sorties moyennes dans la dynamique
     873     !Config  Def  = n
     874     !Config  Help =
     875     !Config         
     876     ok_dyn_xios = .FALSE.
     877     CALL getin('ok_dyn_xios',ok_dyn_xios)
    882878
    883879     !Config  Key  = use_filtre_fft
     
    953949
    954950     write(lunout,*)' #########################################'
    955      write(lunout,*)' Configuration des parametres de cel0' &
    956           //'_limit: '
     951     write(lunout,*)' Configuration des parametres de cel0_limit: '
    957952     write(lunout,*)' planet_type = ', planet_type
    958953     write(lunout,*)' calend = ', calend
     
    990985     write(lunout,*)' offline = ', offline
    991986     write(lunout,*)' type_trac = ', type_trac
    992      write(lunout,*)' config_inca = ', config_inca
    993987     write(lunout,*)' ok_dynzon = ', ok_dynzon
    994988     write(lunout,*)' ok_dyn_ins = ', ok_dyn_ins
    995989     write(lunout,*)' ok_dyn_ave = ', ok_dyn_ave
     990     write(lunout,*)' ok_dyn_xios = ', ok_dyn_xios
    996991     write(lunout,*)' use_filtre_fft = ', use_filtre_fft
    997992     write(lunout,*)' use_mpi_alloc = ', use_mpi_alloc
     
    1000995     write(lunout,*)' ok_limit = ', ok_limit
    1001996     write(lunout,*)' ok_etat0 = ', ok_etat0
     997     write(lunout,*)' ok_guide = ', ok_guide
    1002998     write(lunout,*)' read_orop = ', read_orop
    1003   end IF test_etatinit
     999  ENDIF test_etatinit
    10041000
    10051001END SUBROUTINE conf_gcm
Note: See TracChangeset for help on using the changeset viewer.