Ignore:
Timestamp:
Feb 28, 2016 12:45:19 PM (8 years ago)
Author:
raasch
Message:

update of the nested domain system + some bugfixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/check_parameters.f90

    r1763 r1764  
    1919! Current revisions:
    2020! -----------------
    21 !
     21! output of nest id in run description header,
     22! bugfix: check of validity of lateral boundary conditions moved to parin
    2223!
    2324! Former revisions:
     
    312313    USE pegrid
    313314    USE plant_canopy_model_mod
     315    USE pmc_interface,                                                         &
     316        ONLY:  cpl_id, nested_run
    314317    USE profil_parameter
    315318    USE radiation_model_mod
     
    328331    CHARACTER (LEN=8)   ::  date                     !<
    329332    CHARACTER (LEN=10)  ::  time                     !<
     333    CHARACTER (LEN=10)  ::  ensemble_string          !<
     334    CHARACTER (LEN=15)  ::  nest_string              !<
    330335    CHARACTER (LEN=40)  ::  coupling_string          !<
    331336    CHARACTER (LEN=100) ::  action                   !<
     
    583588    ELSEIF ( coupling_mode == 'ocean_to_atmosphere' )  THEN
    584589       coupling_string = ' coupled (ocean)'
    585     ENDIF       
    586 
     590    ENDIF
    587591    IF ( ensemble_member_nr /= 0 )  THEN
    588        WRITE ( run_description_header,                                         &
    589                   '(A,2X,A,2X,A,A,A,I2.2,A,2X,A,I2.2,2X,A,A,2X,A,1X,A)' )      &
    590               TRIM( version ), TRIM( revision ), 'run: ',                      &
    591               TRIM( run_identifier ), '.', runnr, TRIM( coupling_string ),     &
    592               'en-no: ', ensemble_member_nr,'host: ', TRIM( host ),            &
    593               run_date, run_time
     592       WRITE( ensemble_string, '(2X,A,I2.2)' )  'en-no: ', ensemble_member_nr
    594593    ELSE
    595        WRITE ( run_description_header,                                         &
    596                   '(A,2X,A,2X,A,A,A,I2.2,A,2X,A,A,2X,A,1X,A)' )                &
    597               TRIM( version ), TRIM( revision ), 'run: ',                      &
    598               TRIM( run_identifier ), '.', runnr, TRIM( coupling_string ),     &
    599               'host: ', TRIM( host ), run_date, run_time
    600     ENDIF
     594       ensemble_string = ''
     595    ENDIF
     596    IF ( nested_run )  THEN
     597       WRITE( nest_string, '(2X,A,I2.2)' )  'nest-id: ', cpl_id
     598    ELSE
     599       nest_string = ''
     600    ENDIF
     601
     602    WRITE ( run_description_header,                                            &
     603            '(A,2X,A,2X,A,A,A,I2.2,A,A,A,2X,A,A,2X,A,1X,A)' )                  &
     604          TRIM( version ), TRIM( revision ), 'run: ',                          &
     605          TRIM( run_identifier ), '.', runnr, TRIM( coupling_string ),         &
     606          TRIM( nest_string ), TRIM( ensemble_string), 'host: ', TRIM( host ), &
     607          run_date, run_time
     608
    601609!
    602610!-- Check the general loop optimization method
     
    17561764!
    17571765!-- Check boundary conditions and set internal variables:
    1758 !-- Lateral boundary conditions
    1759     IF ( bc_lr /= 'cyclic'  .AND.  bc_lr /= 'dirichlet/radiation'  .AND. &
    1760          bc_lr /= 'radiation/dirichlet'  .AND.  bc_lr /= 'nested' )  THEN
    1761        message_string = 'unknown boundary condition: bc_lr = "' // &
    1762                         TRIM( bc_lr ) // '"'
    1763        CALL message( 'check_parameters', 'PA0049', 1, 2, 0, 6, 0 )
    1764     ENDIF
    1765     IF ( bc_ns /= 'cyclic'  .AND.  bc_ns /= 'dirichlet/radiation'  .AND. &
    1766          bc_ns /= 'radiation/dirichlet'  .AND.  bc_ns /= 'nested' )  THEN
    1767        message_string = 'unknown boundary condition: bc_ns = "' // &
    1768                         TRIM( bc_ns ) // '"'
    1769        CALL message( 'check_parameters', 'PA0050', 1, 2, 0, 6, 0 )
    1770     ENDIF
    1771 
    1772 !
    1773 !-- Internal variables used for speed optimization in if clauses
    1774     IF ( bc_lr /= 'cyclic' )               bc_lr_cyc    = .FALSE.
    1775     IF ( bc_lr == 'dirichlet/radiation' )  bc_lr_dirrad = .TRUE.
    1776     IF ( bc_lr == 'radiation/dirichlet' )  bc_lr_raddir = .TRUE.
    1777     IF ( bc_ns /= 'cyclic' )               bc_ns_cyc    = .FALSE.
    1778     IF ( bc_ns == 'dirichlet/radiation' )  bc_ns_dirrad = .TRUE.
    1779     IF ( bc_ns == 'radiation/dirichlet' )  bc_ns_raddir = .TRUE.
    1780 
     1766!-- Attention: the lateral boundary conditions have been already checked in
     1767!-- parin
    17811768!
    17821769!-- Non-cyclic lateral boundaries require the multigrid method and Piascek-
Note: See TracChangeset for help on using the changeset viewer.