Ignore:
Timestamp:
Dec 20, 2018 1:51:36 AM (6 years ago)
Author:
knoop
Message:

M Makefile

File:
1 edited

Legend:

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

    r3597 r3637  
    2525! -----------------
    2626! $Id$
     27! Implementation of the PALM module interface
     28!
     29! 3597 2018-12-04 08:40:18Z maronga
    2730! Added checks for theta_2m
    2831!
     
    748751    USE basic_constants_and_equations_mod
    749752
    750     USE biometeorology_mod,                                                    &
    751         ONLY:  bio_check_data_output, bio_check_parameters
    752 
    753753    USE bulk_cloud_model_mod,                                                  &
    754         ONLY:  bulk_cloud_model, bcm_check_parameters, bcm_check_data_output,  &
    755                bcm_check_data_output_pr
    756 
    757     USE chem_emissions_mod,                                                    &
    758         ONLY:  chem_emissions_check_parameters
     754        ONLY:  bulk_cloud_model
    759755
    760756    USE chem_modules
    761757
    762758    USE chemistry_model_mod,                                                   &
    763         ONLY:  chem_boundary_conds, chem_check_data_output,                    &
    764                chem_check_data_output_pr, chem_check_parameters, chem_species
     759        ONLY:  chem_boundary_conds
    765760
    766761    USE control_parameters
     
    770765    USE grid_variables
    771766
    772     USE gust_mod,                                                              &
    773         ONLY: gust_check_data_output, gust_check_data_output_pr,               &
    774               gust_check_parameters, gust_module_enabled
    775 
    776767    USE kinds
    777768
    778769    USE indices
    779 
    780     USE land_surface_model_mod,                                                &
    781         ONLY: lsm_check_data_output, lsm_check_data_output_pr,                 &
    782               lsm_check_parameters
    783 
    784     USE lsf_nudging_mod,                                                       &
    785         ONLY:  lsf_nudging_check_parameters, lsf_nudging_check_data_output_pr
    786770
    787771    USE model_1d_mod,                                                          &
    788772        ONLY:  damp_level_1d, damp_level_ind_1d
    789773
    790     USE nesting_offl_mod,                                                      &
    791         ONLY:  nesting_offl_check_parameters
    792        
     774    USE module_interface,                                                      &
     775        ONLY:  module_interface_check_parameters,                              &
     776               module_interface_check_data_output_pr,                          &
     777               module_interface_check_data_output
     778
    793779    USE netcdf_data_input_mod,                                                 &
    794780        ONLY:  init_model, input_pids_static, netcdf_data_input_check_dynamic, &
     
    800786               waterflux_output_unit, momentumflux_output_unit
    801787
    802     USE ocean_mod,                                                             &
    803         ONLY:  ocean_check_data_output, ocean_check_data_output_pr,            &
    804                ocean_check_parameters
    805 
    806788    USE particle_attributes
    807789
    808790    USE pegrid
    809 
    810     USE plant_canopy_model_mod,                                                &
    811         ONLY:  pcm_check_data_output, pcm_check_parameters
    812791
    813792    USE pmc_interface,                                                         &
     
    816795    USE profil_parameter
    817796
    818     USE radiation_model_mod,                                                   &
    819         ONLY:  radiation, radiation_check_data_output,                         &
    820                radiation_check_data_output_pr, radiation_check_parameters
    821                            
    822     USE salsa_mod,                                                             &
    823         ONLY:  salsa_check_data_output, salsa_check_parameters       
    824 
    825     USE spectra_mod,                                                           &
    826         ONLY:  calculate_spectra, spectra_check_parameters
    827 
    828797    USE statistics
    829798
    830799    USE subsidence_mod
    831800
    832     USE surface_output_mod,                                                    &
    833         ONLY:  surface_output_check_parameters
    834 
    835     USE synthetic_turbulence_generator_mod,                                    &
    836         ONLY:  stg_check_parameters
    837 
    838801    USE transpose_indices
    839802
    840803    USE turbulence_closure_mod,                                                &
    841         ONLY:  tcm_check_data_output, tcm_check_parameters
    842 
    843     USE urban_surface_mod,                                                     &
    844         ONLY:  usm_check_data_output, usm_check_parameters
    845 
    846     USE wind_turbine_model_mod,                                                &
    847         ONLY:  wtm_check_parameters
     804        ONLY:  tcm_check_parameters,                                           &
     805               tcm_check_data_output
    848806
    849807    USE vertical_nesting_mod,                                                  &
    850         ONLY:  vnested, vnest_check_parameters
     808        ONLY:  vnested,                                                        &
     809               vnest_check_parameters
    851810
    852811
     
    15251484
    15261485!
    1527 !-- Check the module settings:
    1528 !-- tcm_check_parameters must be called at first
     1486!-- tcm_check_parameters must be called before all other module calls
    15291487    CALL tcm_check_parameters
    15301488
    1531     IF ( biometeorology )       CALL bio_check_parameters
    1532     IF ( bulk_cloud_model )     CALL bcm_check_parameters
    1533     IF ( air_chemistry )        CALL chem_check_parameters
    1534 !   IF ( air_chemistry )        CALL chem_emissions_check_parameters   ! forkel preliminary
    1535     IF ( gust_module_enabled )  CALL gust_check_parameters
    1536     IF ( large_scale_forcing  .OR.  nudging )                                  &
    1537                                 CALL lsf_nudging_check_parameters
    1538     IF ( land_surface )         CALL lsm_check_parameters
    1539     IF ( nesting_offline )      CALL nesting_offl_check_parameters   
    1540     IF ( ocean_mode )           CALL ocean_check_parameters
    1541     IF ( plant_canopy )         CALL pcm_check_parameters
    1542     IF ( radiation )            CALL radiation_check_parameters
    1543     IF ( calculate_spectra )    CALL spectra_check_parameters
    1544                                 CALL stg_check_parameters
    1545     IF ( urban_surface )        CALL usm_check_parameters
    1546     IF ( wind_turbine )         CALL wtm_check_parameters
    1547 !
    1548 !-- Checks for surface data output
    1549     IF ( surface_data_output )  CALL surface_output_check_parameters
    1550 !   
    1551 !-- When SALSA is used, perform additional checks
    1552     IF ( salsa )  CALL salsa_check_parameters     
     1489!-- Check the module settings
     1490    CALL module_interface_check_parameters
    15531491
    15541492!
     
    15621500       IF ( humidity       )  q_init  = q_surface
    15631501       IF ( passive_scalar )  s_init  = s_surface
    1564 !
    1565 !--    TODO
    1566 !--    Russo: Is done in chem_init and would overwrite what is done there
    1567 !--    --> kanani: Revise
    1568 !      IF ( air_chemistry )  THEN
    1569 !        DO lsp = 1, nvar
    1570 !           chem_species(lsp)%conc_pr_init = cs_surface(lsp)     
    1571 !        ENDDO
    1572 !      ENDIF
    1573 !
     1502
    15741503!--
    15751504!--    If required, compute initial profile of the geostrophic wind
     
    29602889!
    29612890!--          Check for other modules
    2962              IF ( unit == 'illegal' .AND.  bulk_cloud_model )  THEN
    2963                 CALL bcm_check_data_output_pr( data_output_pr(i), i, unit,     &
    2964                                                dopr_unit(i) )
    2965              ENDIF
    2966 
    2967              IF ( unit == 'illegal' .AND.  air_chemistry )  THEN
    2968                 CALL chem_check_data_output_pr( data_output_pr(i), i, unit,    &
    2969                                                 dopr_unit(i) )
    2970              ENDIF
    2971 
    2972              IF ( unit == 'illegal'  .AND.  gust_module_enabled  )  THEN
    2973                 CALL gust_check_data_output_pr( data_output_pr(i), i, unit,    &
    2974                                                 dopr_unit(i) )
    2975              ENDIF
    2976 
    2977              IF ( unit == 'illegal' )  THEN
    2978                 CALL lsf_nudging_check_data_output_pr( data_output_pr(i), i,   &
    2979                                                        unit, dopr_unit(i) )
    2980              ENDIF
    2981 
    2982              IF ( unit == 'illegal' )  THEN
    2983                 CALL lsm_check_data_output_pr( data_output_pr(i), i, unit,        &
    2984                                             dopr_unit(i) )
    2985              ENDIF
    2986              IF ( unit == 'illegal' )  THEN
    2987                 CALL ocean_check_data_output_pr( data_output_pr(i), i, unit,   &
    2988                                                  dopr_unit(i) )
    2989              ENDIF
    2990 
    2991              IF ( unit == 'illegal' )  THEN
    2992                 CALL radiation_check_data_output_pr( data_output_pr(i), i,     &
    2993                                                      unit, dopr_unit(i) )
    2994              ENDIF
    2995 
    2996 !
    2997 !--          Finally, check for user defined quantities
    2998              IF ( unit == 'illegal' )  THEN
    2999                 unit = ''
    3000                 CALL user_check_data_output_pr( data_output_pr(i), i, unit )
    3001              ENDIF
     2891             CALL module_interface_check_data_output_pr( data_output_pr(i), i, &
     2892                                                         unit, dopr_unit(i) )
    30022893
    30032894!
     
    32243115
    32253116             CALL tcm_check_data_output( var, unit )
    3226 
    32273117!
    32283118!--          Check for other modules
    3229              IF ( unit == 'illegal'  .AND.  bulk_cloud_model  )  THEN
    3230                 CALL bcm_check_data_output( var, unit )
    3231              ENDIF
    3232 
    3233              IF ( unit == 'illegal'  .AND.  air_chemistry                      &
    3234                   .AND.  (var(1:3) == 'kc_' .OR. var(1:3) == 'em_') )  THEN
    3235                 CALL chem_check_data_output( var, unit, i, ilen, k )
    3236              ENDIF
    3237 
    3238              IF ( unit == 'illegal' )  THEN
    3239                 CALL lsm_check_data_output ( var, unit, i, ilen, k )
    3240              ENDIF
    3241 
    3242              IF ( unit == 'illegal'  .AND.  gust_module_enabled  )  THEN
    3243                 CALL gust_check_data_output ( var, unit )
    3244              ENDIF
    3245 
    3246              IF ( unit == 'illegal'  .AND.  biometeorology )  THEN
    3247                 CALL bio_check_data_output( var, unit, i, ilen, k )
    3248              ENDIF
    3249 
    3250              IF ( unit == 'illegal'  .AND.  ocean_mode )  THEN
    3251                 CALL ocean_check_data_output( var, unit )
    3252              ENDIF
    3253 
    3254              IF ( unit == 'illegal'  .AND.  plant_canopy                       &
    3255                                      .AND.  var(1:4) == 'pcm_' )  THEN
    3256                 CALL pcm_check_data_output( var, unit )
    3257              ENDIF
    3258 
    3259              IF ( unit == 'illegal' )  THEN
    3260                 CALL radiation_check_data_output( var, unit, i, ilen, k )
    3261              ENDIF
    3262 
    3263              IF ( unit == 'illegal' .AND. salsa ) THEN
    3264                  CALL salsa_check_data_output( var, unit )
    3265              ENDIF   
    3266 
    3267              IF ( unit == 'illegal'  .AND.  urban_surface                      &
    3268                                      .AND.  var(1:4) == 'usm_' )  THEN
    3269                  CALL usm_check_data_output( var, unit )
    3270              ENDIF
    3271 !
    3272 !--          Finally, check for user-defined quantities
    3273              IF ( unit == 'illegal' )  THEN
    3274                 unit = ''
    3275                 CALL user_check_data_output( var, unit )
    3276              ENDIF
     3119             CALL module_interface_check_data_output( var, unit, i, ilen, k )
    32773120
    32783121             IF ( unit == 'illegal' )  THEN
     
    39863829
    39873830    CALL location_message( 'finished', .TRUE. )
    3988 !
    3989 !-- Check &userpar parameters
    3990     CALL user_check_parameters
    39913831
    39923832 CONTAINS
Note: See TracChangeset for help on using the changeset viewer.