Skip to content
Snippets Groups Projects
read_exsegn.f90 124 KiB
Newer Older
          'WITH NLEV_COUPLE>1, YOU MUST USE AT LEAST ONE OR MORE OF LDRAGBLDG, LFLUXBLDG OR LDRAGURBVEG')
  END IF
END IF
!
!*       4.9  Other
!
IF (XTNUDGING < 4.*XTSTEP) THEN
  XTNUDGING = 4.*XTSTEP
  WRITE(UNIT=ILUOUT,FMT=9002) KMI
  WRITE(UNIT=ILUOUT,FMT='("TIME SCALE FOR NUDGING CAN NOT BE SMALLER THAN",  &
                 &   " FOUR TIMES THE TIME STEP")')
  WRITE(ILUOUT,FMT=*) 'XTNUDGING is SET TO ',XTNUDGING
END IF
!
!
IF (XWAY(KMI) == 3. ) THEN
  XWAY(KMI) = 2.
  WRITE(UNIT=ILUOUT,FMT=9002) KMI
  WRITE(UNIT=ILUOUT,FMT='("XWAY=3 DOES NOT EXIST ANYMORE; ", &                               
                 &   " IT IS REPLACED BY XWAY=2 ")')
END IF
!
IF ( (KMI == 1) .AND. XWAY(KMI) /= 0. ) THEN
  XWAY(KMI) = 0.
  WRITE(UNIT=ILUOUT,FMT=9002) KMI
  WRITE(UNIT=ILUOUT,FMT='("XWAY MUST BE EQUAL TO 0 FOR DAD MODEL")')   
END IF
!
!JUANZ ZRESI solver need BSPLITTING 
IF ( CPRESOPT == 'ZRESI' .AND. CSPLIT /= 'BSPLITTING' ) THEN
  WRITE(UNIT=ILUOUT,FMT=9003) KMI
  WRITE(UNIT=ILUOUT,FMT='("Paralleliez in Z solver CPRESOPT=ZRESI need also CSPLIT=BSPLITTING ")')
  WRITE(ILUOUT,FMT=*) ' ERROR you have to set also CSPLIT=BSPLITTING '
 !callabortstop
  CALL PRINT_MSG(NVERB_FATAL,'GEN','READ_EXSEG_n','')
END IF
!
IF ( LEN_TRIM(HINIFILEPGD)>0 ) THEN
  IF ( CINIFILEPGD/=HINIFILEPGD ) THEN 
    WRITE(UNIT=ILUOUT,FMT=9001) KMI
    WRITE(ILUOUT,FMT=*) ' ERROR : in EXSEG1.nam, in NAM_LUNITn you have CINIFILEPGD= ',TRIM(CINIFILEPGD)
    WRITE(ILUOUT,FMT=*) ' whereas in .des you have CINIFILEPGD= ',TRIM(HINIFILEPGD)
    WRITE(ILUOUT,FMT=*) ' Please check your Namelist '
    WRITE(ILUOUT,FMT=*) ' For example, you may have specified the un-nested PGD file instead of the nested PGD file '
    WRITE(ILUOUT,FMT=*) 
    WRITE(ILUOUT,FMT=*) '###############'
    WRITE(ILUOUT,FMT=*) ' MESONH ABORTS'
    WRITE(ILUOUT,FMT=*) '###############'
    WRITE(ILUOUT,FMT=*) 
 !callabortstop
    CALL PRINT_MSG(NVERB_FATAL,'GEN','READ_EXSEG_n','')
  END IF
ELSE
  CINIFILEPGD = ''
!* note that after a spawning, there is no value for CINIFILEPGD in the .des file,
!  so the checking cannot be made if the user starts a simulation directly from
!  a spawned file (without the prep_real_case stage)
END IF
!-------------------------------------------------------------------------------
!
!*       5.    WE DO NOT FORGET TO UPDATE ALL DOLLARN NAMELIST VARIABLES
!              ---------------------------------------------------------
!
CALL UPDATE_NAM_LUNITN(KMI)
IF ( KMI == 1 ) THEN
  IF (NCPL_NBR /= 0) THEN !To be done after UPDATE_NAM_LUNITN
    LSTEADYLS = .FALSE.
  ELSE
    LSTEADYLS = .TRUE.
  END IF
END IF
CALL UPDATE_NAM_CONFN
CALL UPDATE_NAM_DRAGTREEN
CALL UPDATE_NAM_DRAGBLDGN
CALL UPDATE_NAM_COUPLING_LEVELSN
CALL UPDATE_NAM_DYNN
CALL UPDATE_NAM_ADVN
CALL UPDATE_NAM_PARAMN
CALL UPDATE_NAM_PARAM_RADN
#ifdef MNH_ECRAD
CALL UPDATE_NAM_PARAM_ECRADN
#endif
CALL UPDATE_NAM_PARAM_KAFRN
CALL UPDATE_NAM_LBCN
CALL UPDATE_NAM_NUDGINGN
CALL UPDATE_NAM_CH_MNHCN
CALL UPDATE_NAM_CH_SOLVERN
CALL UPDATE_NAM_SERIESN
!-------------------------------------------------------------------------------
WRITE(UNIT=ILUOUT,FMT='(/)')
!-------------------------------------------------------------------------------
!
!*       6.    FORMATS
!              -------
!
9000  FORMAT(/,'NOTE  IN READ_EXSEG FOR MODEL ', I2, ' : ',/, &
             '--------------------------------')
9001  FORMAT(/,'CAUTION ERROR IN READ_EXSEG FOR MODEL ', I2,' : ',/, &
             '----------------------------------------' )
9002  FORMAT(/,'WARNING IN READ_EXSEG FOR MODEL ', I2,' : ',/, &
             '----------------------------------' )
9003  FORMAT(/,'FATAL ERROR IN READ_EXSEG FOR MODEL ', I2,' : ',/, &
             '--------------------------------------' )
!
!-------------------------------------------------------------------------------
!
END SUBROUTINE READ_EXSEG_n