MODULE module_alloc_space_7 CONTAINS SUBROUTINE alloc_space_field_core_7 ( grid, id, setinitval_in , tl_in , inter_domain_in , okay_to_alloc_in, num_bytes_allocated , & sd31, ed31, sd32, ed32, sd33, ed33, & sm31 , em31 , sm32 , em32 , sm33 , em33 , & sp31 , ep31 , sp32 , ep32 , sp33 , ep33 , & sp31x, ep31x, sp32x, ep32x, sp33x, ep33x, & sp31y, ep31y, sp32y, ep32y, sp33y, ep33y, & sm31x, em31x, sm32x, em32x, sm33x, em33x, & sm31y, em31y, sm32y, em32y, sm33y, em33y ) USE module_domain_type USE module_configure, ONLY : model_config_rec, grid_config_rec_type, in_use_for_config, model_to_grid_config_rec USE module_scalar_tables IMPLICIT NONE TYPE(domain) , POINTER :: grid INTEGER , INTENT(IN) :: id INTEGER , INTENT(IN) :: setinitval_in INTEGER , INTENT(IN) :: sd31, ed31, sd32, ed32, sd33, ed33 INTEGER , INTENT(IN) :: sm31, em31, sm32, em32, sm33, em33 INTEGER , INTENT(IN) :: sp31, ep31, sp32, ep32, sp33, ep33 INTEGER , INTENT(IN) :: sp31x, ep31x, sp32x, ep32x, sp33x, ep33x INTEGER , INTENT(IN) :: sp31y, ep31y, sp32y, ep32y, sp33y, ep33y INTEGER , INTENT(IN) :: sm31x, em31x, sm32x, em32x, sm33x, em33x INTEGER , INTENT(IN) :: sm31y, em31y, sm32y, em32y, sm33y, em33y INTEGER , INTENT(IN) :: tl_in LOGICAL , INTENT(IN) :: inter_domain_in, okay_to_alloc_in INTEGER(KIND=8) , INTENT(INOUT) :: num_bytes_allocated INTEGER idum1, idum2, spec_bdy_width REAL initial_data_value CHARACTER (LEN=256) message INTEGER tl LOGICAL inter_domain, okay_to_alloc INTEGER setinitval INTEGER sr_x, sr_y INTEGER ierr INTEGER :: loop TYPE ( grid_config_rec_type ) :: config_flags INTEGER :: k_start , k_end, its, ite, jts, jte INTEGER :: ids , ide , jds , jde , kds , kde , & ims , ime , jms , jme , kms , kme , & ips , ipe , jps , jpe , kps , kpe INTEGER :: sids , side , sjds , sjde , skds , skde , & sims , sime , sjms , sjme , skms , skme , & sips , sipe , sjps , sjpe , skps , skpe INTEGER :: imsx, imex, jmsx, jmex, kmsx, kmex, & ipsx, ipex, jpsx, jpex, kpsx, kpex, & imsy, imey, jmsy, jmey, kmsy, kmey, & ipsy, ipey, jpsy, jpey, kpsy, kpey data_ordering : SELECT CASE ( model_data_order ) CASE ( DATA_ORDER_XYZ ) ids = sd31 ; ide = ed31 ; jds = sd32 ; jde = ed32 ; kds = sd33 ; kde = ed33 ; ims = sm31 ; ime = em31 ; jms = sm32 ; jme = em32 ; kms = sm33 ; kme = em33 ; ips = sp31 ; ipe = ep31 ; jps = sp32 ; jpe = ep32 ; kps = sp33 ; kpe = ep33 ; imsx = sm31x ; imex = em31x ; jmsx = sm32x ; jmex = em32x ; kmsx = sm33x ; kmex = em33x ; ipsx = sp31x ; ipex = ep31x ; jpsx = sp32x ; jpex = ep32x ; kpsx = sp33x ; kpex = ep33x ; imsy = sm31y ; imey = em31y ; jmsy = sm32y ; jmey = em32y ; kmsy = sm33y ; kmey = em33y ; ipsy = sp31y ; ipey = ep31y ; jpsy = sp32y ; jpey = ep32y ; kpsy = sp33y ; kpey = ep33y ; CASE ( DATA_ORDER_YXZ ) ids = sd32 ; ide = ed32 ; jds = sd31 ; jde = ed31 ; kds = sd33 ; kde = ed33 ; ims = sm32 ; ime = em32 ; jms = sm31 ; jme = em31 ; kms = sm33 ; kme = em33 ; ips = sp32 ; ipe = ep32 ; jps = sp31 ; jpe = ep31 ; kps = sp33 ; kpe = ep33 ; imsx = sm32x ; imex = em32x ; jmsx = sm31x ; jmex = em31x ; kmsx = sm33x ; kmex = em33x ; ipsx = sp32x ; ipex = ep32x ; jpsx = sp31x ; jpex = ep31x ; kpsx = sp33x ; kpex = ep33x ; imsy = sm32y ; imey = em32y ; jmsy = sm31y ; jmey = em31y ; kmsy = sm33y ; kmey = em33y ; ipsy = sp32y ; ipey = ep32y ; jpsy = sp31y ; jpey = ep31y ; kpsy = sp33y ; kpey = ep33y ; CASE ( DATA_ORDER_ZXY ) ids = sd32 ; ide = ed32 ; jds = sd33 ; jde = ed33 ; kds = sd31 ; kde = ed31 ; ims = sm32 ; ime = em32 ; jms = sm33 ; jme = em33 ; kms = sm31 ; kme = em31 ; ips = sp32 ; ipe = ep32 ; jps = sp33 ; jpe = ep33 ; kps = sp31 ; kpe = ep31 ; imsx = sm32x ; imex = em32x ; jmsx = sm33x ; jmex = em33x ; kmsx = sm31x ; kmex = em31x ; ipsx = sp32x ; ipex = ep32x ; jpsx = sp33x ; jpex = ep33x ; kpsx = sp31x ; kpex = ep31x ; imsy = sm32y ; imey = em32y ; jmsy = sm33y ; jmey = em33y ; kmsy = sm31y ; kmey = em31y ; ipsy = sp32y ; ipey = ep32y ; jpsy = sp33y ; jpey = ep33y ; kpsy = sp31y ; kpey = ep31y ; CASE ( DATA_ORDER_ZYX ) ids = sd33 ; ide = ed33 ; jds = sd32 ; jde = ed32 ; kds = sd31 ; kde = ed31 ; ims = sm33 ; ime = em33 ; jms = sm32 ; jme = em32 ; kms = sm31 ; kme = em31 ; ips = sp33 ; ipe = ep33 ; jps = sp32 ; jpe = ep32 ; kps = sp31 ; kpe = ep31 ; imsx = sm33x ; imex = em33x ; jmsx = sm32x ; jmex = em32x ; kmsx = sm31x ; kmex = em31x ; ipsx = sp33x ; ipex = ep33x ; jpsx = sp32x ; jpex = ep32x ; kpsx = sp31x ; kpex = ep31x ; imsy = sm33y ; imey = em33y ; jmsy = sm32y ; jmey = em32y ; kmsy = sm31y ; kmey = em31y ; ipsy = sp33y ; ipey = ep33y ; jpsy = sp32y ; jpey = ep32y ; kpsy = sp31y ; kpey = ep31y ; CASE ( DATA_ORDER_XZY ) ids = sd31 ; ide = ed31 ; jds = sd33 ; jde = ed33 ; kds = sd32 ; kde = ed32 ; ims = sm31 ; ime = em31 ; jms = sm33 ; jme = em33 ; kms = sm32 ; kme = em32 ; ips = sp31 ; ipe = ep31 ; jps = sp33 ; jpe = ep33 ; kps = sp32 ; kpe = ep32 ; imsx = sm31x ; imex = em31x ; jmsx = sm33x ; jmex = em33x ; kmsx = sm32x ; kmex = em32x ; ipsx = sp31x ; ipex = ep31x ; jpsx = sp33x ; jpex = ep33x ; kpsx = sp32x ; kpex = ep32x ; imsy = sm31y ; imey = em31y ; jmsy = sm33y ; jmey = em33y ; kmsy = sm32y ; kmey = em32y ; ipsy = sp31y ; ipey = ep31y ; jpsy = sp33y ; jpey = ep33y ; kpsy = sp32y ; kpey = ep32y ; CASE ( DATA_ORDER_YZX ) ids = sd33 ; ide = ed33 ; jds = sd31 ; jde = ed31 ; kds = sd32 ; kde = ed32 ; ims = sm33 ; ime = em33 ; jms = sm31 ; jme = em31 ; kms = sm32 ; kme = em32 ; ips = sp33 ; ipe = ep33 ; jps = sp31 ; jpe = ep31 ; kps = sp32 ; kpe = ep32 ; imsx = sm33x ; imex = em33x ; jmsx = sm31x ; jmex = em31x ; kmsx = sm32x ; kmex = em32x ; ipsx = sp33x ; ipex = ep33x ; jpsx = sp31x ; jpex = ep31x ; kpsx = sp32x ; kpex = ep32x ; imsy = sm33y ; imey = em33y ; jmsy = sm31y ; jmey = em31y ; kmsy = sm32y ; kmey = em32y ; ipsy = sp33y ; ipey = ep33y ; jpsy = sp31y ; jpey = ep31y ; kpsy = sp32y ; kpey = ep32y ; END SELECT data_ordering CALL model_to_grid_config_rec ( id , model_config_rec , config_flags ) CALL nl_get_sr_x( id , sr_x ) CALL nl_get_sr_y( id , sr_y ) tl = tl_in inter_domain = inter_domain_in okay_to_alloc = okay_to_alloc_in CALL get_initial_data_value ( initial_data_value ) setinitval = setinitval_in CALL nl_get_spec_bdy_width( 1, spec_bdy_width ) IF ( setinitval .EQ. 3 ) grid%dfi_fwdstop_month=0 IF ( setinitval .EQ. 3 ) grid%dfi_fwdstop_day=0 IF ( setinitval .EQ. 3 ) grid%dfi_fwdstop_hour=0 IF ( setinitval .EQ. 3 ) grid%dfi_fwdstop_minute=0 IF ( setinitval .EQ. 3 ) grid%dfi_fwdstop_second=0 IF ( setinitval .EQ. 3 ) grid%dfi_bckstop_year=0 IF ( setinitval .EQ. 3 ) grid%dfi_bckstop_month=0 IF ( setinitval .EQ. 3 ) grid%dfi_bckstop_day=0 IF ( setinitval .EQ. 3 ) grid%dfi_bckstop_hour=0 IF ( setinitval .EQ. 3 ) grid%dfi_bckstop_minute=0 IF ( setinitval .EQ. 3 ) grid%dfi_bckstop_second=0 IF ( setinitval .EQ. 3 ) grid%time_step=0 IF ( setinitval .EQ. 3 ) grid%time_step_fract_num=0 IF ( setinitval .EQ. 3 ) grid%time_step_fract_den=0 IF ( setinitval .EQ. 3 ) grid%time_step_dfi=0 IF ( setinitval .EQ. 3 ) grid%max_dom=0 IF ( setinitval .EQ. 3 ) grid%s_we=0 IF ( setinitval .EQ. 3 ) grid%e_we=0 IF ( setinitval .EQ. 3 ) grid%s_sn=0 IF ( setinitval .EQ. 3 ) grid%e_sn=0 IF ( setinitval .EQ. 3 ) grid%s_vert=0 IF ( setinitval .EQ. 3 ) grid%e_vert=0 IF ( setinitval .EQ. 3 ) grid%num_metgrid_soil_levels=0 IF ( setinitval .EQ. 3 ) grid%dx=initial_data_value IF ( setinitval .EQ. 3 ) grid%dy=initial_data_value IF ( setinitval .EQ. 3 ) grid%grid_id=0 IF ( setinitval .EQ. 3 ) grid%grid_allowed=.FALSE. IF ( setinitval .EQ. 3 ) grid%parent_id=0 IF ( setinitval .EQ. 3 ) grid%i_parent_start=0 IF ( setinitval .EQ. 3 ) grid%j_parent_start=0 IF ( setinitval .EQ. 3 ) grid%parent_grid_ratio=0 IF ( setinitval .EQ. 3 ) grid%parent_time_step_ratio=0 IF ( setinitval .EQ. 3 ) grid%feedback=0 IF ( setinitval .EQ. 3 ) grid%smooth_option=0 IF ( setinitval .EQ. 3 ) grid%ztop=initial_data_value IF ( setinitval .EQ. 3 ) grid%moad_grid_ratio=0 IF ( setinitval .EQ. 3 ) grid%moad_time_step_ratio=0 IF ( setinitval .EQ. 3 ) grid%shw=0 IF ( setinitval .EQ. 3 ) grid%tile_sz_x=0 IF ( setinitval .EQ. 3 ) grid%tile_sz_y=0 IF ( setinitval .EQ. 3 ) grid%numtiles=0 IF ( setinitval .EQ. 3 ) grid%numtiles_inc=0 IF ( setinitval .EQ. 3 ) grid%numtiles_x=0 IF ( setinitval .EQ. 3 ) grid%numtiles_y=0 IF ( setinitval .EQ. 3 ) grid%tile_strategy=0 IF ( setinitval .EQ. 3 ) grid%nproc_x=0 IF ( setinitval .EQ. 3 ) grid%nproc_y=0 IF ( setinitval .EQ. 3 ) grid%irand=0 IF ( setinitval .EQ. 3 ) grid%dt=initial_data_value IF ( setinitval .EQ. 3 ) grid%ts_buf_size=0 IF ( setinitval .EQ. 3 ) grid%max_ts_locs=0 IF ( setinitval .EQ. 3 ) grid%num_moves=0 IF ( setinitval .EQ. 3 ) grid%vortex_interval=0 IF ( setinitval .EQ. 3 ) grid%corral_dist=0 IF ( setinitval .EQ. 3 ) grid%multi_storm=.FALSE. IF ( setinitval .EQ. 3 ) grid%no_ocean=.FALSE. IF ( setinitval .EQ. 3 ) grid%move_id=0 IF ( setinitval .EQ. 3 ) grid%move_interval=0 IF ( setinitval .EQ. 3 ) grid%move_cd_x=0 IF ( setinitval .EQ. 3 ) grid%move_cd_y=0 IF ( setinitval .EQ. 3 ) grid%swap_x=.FALSE. IF ( setinitval .EQ. 3 ) grid%swap_y=.FALSE. IF ( setinitval .EQ. 3 ) grid%cycle_x=.FALSE. IF ( setinitval .EQ. 3 ) grid%cycle_y=.FALSE. IF ( setinitval .EQ. 3 ) grid%reorder_mesh=.FALSE. IF ( setinitval .EQ. 3 ) grid%perturb_input=.FALSE. IF ( setinitval .EQ. 3 ) grid%eta_levels=initial_data_value IF ( setinitval .EQ. 3 ) grid%ptsgm=initial_data_value IF ( setinitval .EQ. 3 ) grid%num_metgrid_levels=0 IF ( setinitval .EQ. 3 ) grid%p_top_requested=initial_data_value IF ( setinitval .EQ. 3 ) grid%use_prep_hybrid=.FALSE. IF ( setinitval .EQ. 3 ) grid%force_read_thompson=.FALSE. IF ( setinitval .EQ. 3 ) grid%write_thompson_tables=.FALSE. IF ( setinitval .EQ. 3 ) grid%nssl_cccn=initial_data_value IF ( setinitval .EQ. 3 ) grid%nssl_alphah=initial_data_value IF ( setinitval .EQ. 3 ) grid%nssl_alphahl=initial_data_value IF ( setinitval .EQ. 3 ) grid%nssl_cnoh=initial_data_value IF ( setinitval .EQ. 3 ) grid%nssl_cnohl=initial_data_value IF ( setinitval .EQ. 3 ) grid%nssl_cnor=initial_data_value IF ( setinitval .EQ. 3 ) grid%nssl_cnos=initial_data_value IF ( setinitval .EQ. 3 ) grid%nssl_rho_qh=initial_data_value IF ( setinitval .EQ. 3 ) grid%nssl_rho_qhl=initial_data_value IF ( setinitval .EQ. 3 ) grid%nssl_rho_qs=initial_data_value IF ( setinitval .EQ. 3 ) grid%elec_physics=0 IF ( setinitval .EQ. 3 ) grid%nssl_ipelec=0 IF ( setinitval .EQ. 3 ) grid%nssl_isaund=0 IF ( setinitval .EQ. 3 ) grid%mp_physics=0 IF ( setinitval .EQ. 3 ) grid%mommix=initial_data_value IF ( setinitval .EQ. 3 ) grid%disheat=.FALSE. IF ( setinitval .EQ. 3 ) grid%do_radar_ref=0 IF ( setinitval .EQ. 3 ) grid%compute_radar_ref=0 IF ( setinitval .EQ. 3 ) grid%ra_lw_physics=0 IF ( setinitval .EQ. 3 ) grid%ra_sw_physics=0 IF ( setinitval .EQ. 3 ) grid%radt=initial_data_value IF ( setinitval .EQ. 3 ) grid%sf_sfclay_physics=0 IF ( setinitval .EQ. 3 ) grid%sf_surface_physics=0 IF ( setinitval .EQ. 3 ) grid%bl_pbl_physics=0 IF ( setinitval .EQ. 3 ) grid%ysu_topdown_pblmix=0 IF ( setinitval .EQ. 3 ) grid%shinhong_tke_diag=0 IF ( setinitval .EQ. 3 ) grid%windfarm_opt=0 IF ( setinitval .EQ. 3 ) grid%windfarm_ij=0 IF ( setinitval .EQ. 3 ) grid%mfshconv=0 IF ( setinitval .EQ. 3 ) grid%bldt=initial_data_value IF ( setinitval .EQ. 3 ) grid%cu_physics=0 IF ( setinitval .EQ. 3 ) grid%shcu_physics=0 IF ( setinitval .EQ. 3 ) grid%cu_diag=0 IF ( setinitval .EQ. 3 ) grid%kf_edrates=0 IF ( setinitval .EQ. 3 ) grid%gfs_alpha=initial_data_value IF ( setinitval .EQ. 3 ) grid%cudt=initial_data_value IF ( setinitval .EQ. 3 ) grid%gsmdt=initial_data_value IF ( setinitval .EQ. 3 ) grid%isfflx=0 IF ( setinitval .EQ. 3 ) grid%ideal_xland=0 IF ( setinitval .EQ. 3 ) grid%ifsnow=0 IF ( setinitval .EQ. 3 ) grid%icloud=0 IF ( setinitval .EQ. 3 ) grid%cldovrlp=0 IF ( setinitval .EQ. 3 ) grid%swrad_scat=initial_data_value IF ( setinitval .EQ. 3 ) grid%surface_input_source=0 IF ( setinitval .EQ. 3 ) grid%num_soil_layers=0 IF ( setinitval .EQ. 3 ) grid%num_urban_layers=0 IF ( setinitval .EQ. 3 ) grid%sf_surface_mosaic=0 IF ( setinitval .EQ. 3 ) grid%mosaic_cat=0 IF ( setinitval .EQ. 3 ) grid%mosaic_cat_soil=0 IF ( setinitval .EQ. 3 ) grid%num_urban_hi=0 IF ( setinitval .EQ. 3 ) grid%mosaic_lu=0 IF ( setinitval .EQ. 3 ) grid%mosaic_soil=0 IF ( setinitval .EQ. 3 ) grid%maxiens=0 IF ( setinitval .EQ. 3 ) grid%maxens=0 IF ( setinitval .EQ. 3 ) grid%maxens2=0 IF ( setinitval .EQ. 3 ) grid%maxens3=0 IF ( setinitval .EQ. 3 ) grid%ensdim=0 IF ( setinitval .EQ. 3 ) grid%ishallow=0 IF ( setinitval .EQ. 3 ) grid%clos_choice=0 IF ( setinitval .EQ. 3 ) grid%chem_opt=0 IF ( setinitval .EQ. 3 ) grid%num_land_cat=0 IF ( setinitval .EQ. 3 ) grid%num_soil_cat=0 IF ( setinitval .EQ. 3 ) grid%topo_wind=0 IF ( setinitval .EQ. 3 ) grid%mp_zero_out=0 IF ( setinitval .EQ. 3 ) grid%mp_zero_out_thresh=initial_data_value IF ( setinitval .EQ. 3 ) grid%seaice_threshold=initial_data_value IF ( setinitval .EQ. 3 ) grid%fractional_seaice=0 IF ( setinitval .EQ. 3 ) grid%seaice_albedo_opt=0 IF ( setinitval .EQ. 3 ) grid%seaice_albedo_default=initial_data_value IF ( setinitval .EQ. 3 ) grid%seaice_snowdepth_opt=0 IF ( setinitval .EQ. 3 ) grid%seaice_snowdepth_max=initial_data_value IF ( setinitval .EQ. 3 ) grid%seaice_snowdepth_min=initial_data_value IF ( setinitval .EQ. 3 ) grid%seaice_thickness_opt=0 IF ( setinitval .EQ. 3 ) grid%seaice_thickness_default=initial_data_value IF ( setinitval .EQ. 3 ) grid%tice2tsk_if2cold=.FALSE. IF ( setinitval .EQ. 3 ) grid%sst_update=0 IF ( setinitval .EQ. 3 ) grid%sf_urban_physics=0 IF ( setinitval .EQ. 3 ) grid%usemonalb=.FALSE. IF ( setinitval .EQ. 3 ) grid%rdmaxalb=.FALSE. IF ( setinitval .EQ. 3 ) grid%rdlai2d=.FALSE. IF ( setinitval .EQ. 3 ) grid%ua_phys=.FALSE. IF ( setinitval .EQ. 3 ) grid%opt_thcnd=0 IF ( setinitval .EQ. 3 ) grid%gwd_opt=0 IF ( setinitval .EQ. 3 ) grid%iz0tlnd=0 IF ( setinitval .EQ. 3 ) grid%sas_pgcon=initial_data_value IF ( setinitval .EQ. 3 ) grid%sas_shal_pgcon=initial_data_value IF ( setinitval .EQ. 3 ) grid%sas_shal_conv=0 IF ( setinitval .EQ. 3 ) grid%sas_mass_flux=initial_data_value IF ( setinitval .EQ. 3 ) grid%var_ric=initial_data_value IF ( setinitval .EQ. 3 ) grid%coef_ric_l=initial_data_value IF ( setinitval .EQ. 3 ) grid%coef_ric_s=initial_data_value IF ( setinitval .EQ. 3 ) grid%random_seed=0 IF ( setinitval .EQ. 3 ) grid%icoef_sf=0 IF ( setinitval .EQ. 3 ) grid%iwavecpl=0 IF ( setinitval .EQ. 3 ) grid%lcurr_sf=.FALSE. IF ( setinitval .EQ. 3 ) grid%ens_random_seed=0 IF ( setinitval .EQ. 3 ) grid%pert_sas=.FALSE. IF ( setinitval .EQ. 3 ) grid%pert_pbl=.FALSE. IF ( setinitval .EQ. 3 ) grid%pert_cd=.FALSE. IF ( setinitval .EQ. 3 ) grid%ens_sasamp=initial_data_value IF ( setinitval .EQ. 3 ) grid%ens_pblamp=initial_data_value IF ( setinitval .EQ. 3 ) grid%ens_cdamp=initial_data_value IF ( setinitval .EQ. 3 ) grid%idtad=0 IF ( setinitval .EQ. 3 ) grid%nsoil=0 IF ( setinitval .EQ. 3 ) grid%nphs=0 IF ( setinitval .EQ. 3 ) grid%ncnvc=0 IF ( setinitval .EQ. 3 ) grid%nrand=0 IF ( setinitval .EQ. 3 ) grid%nrads=0 IF ( setinitval .EQ. 3 ) grid%nradl=0 IF ( setinitval .EQ. 3 ) grid%tprec=initial_data_value IF ( setinitval .EQ. 3 ) grid%theat=initial_data_value IF ( setinitval .EQ. 3 ) grid%tclod=initial_data_value IF ( setinitval .EQ. 3 ) grid%trdsw=initial_data_value IF ( setinitval .EQ. 3 ) grid%trdlw=initial_data_value IF ( setinitval .EQ. 3 ) grid%tsrfc=initial_data_value IF ( setinitval .EQ. 3 ) grid%pcpflg=.FALSE. IF ( setinitval .EQ. 3 ) grid%sigma=0 IF ( setinitval .EQ. 3 ) grid%sfenth=initial_data_value IF ( setinitval .EQ. 3 ) grid%co2tf=0 IF ( setinitval .EQ. 3 ) grid%ra_call_offset=0 IF ( setinitval .EQ. 3 ) grid%cam_abs_freq_s=initial_data_value IF ( setinitval .EQ. 3 ) grid%levsiz=0 IF ( setinitval .EQ. 3 ) grid%paerlev=0 IF ( setinitval .EQ. 3 ) grid%cam_abs_dim1=0 IF ( setinitval .EQ. 3 ) grid%cam_abs_dim2=0 IF ( setinitval .EQ. 3 ) grid%no_src_types=0 IF ( setinitval .EQ. 3 ) grid%alevsiz=0 IF ( setinitval .EQ. 3 ) grid%o3input=0 IF ( setinitval .EQ. 3 ) grid%aer_opt=0 IF ( setinitval .EQ. 3 ) grid%cu_rad_feedback=.FALSE. IF ( setinitval .EQ. 3 ) grid%icloud_cu=0 IF ( setinitval .EQ. 3 ) grid%h_diff=initial_data_value IF(okay_to_alloc.AND.in_use_for_config(id,'ozmixm'))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((model_config_rec%levsiz)-(1)+1))*(((em32)-(sm32)+1)*num_ozmixm)) * 4 ALLOCATE(grid%ozmixm(sm31:em31,1:model_config_rec%levsiz,sm32:em32,num_ozmixm),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",370,& 'frame/module_domain.f: Failed to allocate grid%ozmixm(sm31:em31,1:model_config_rec%levsiz,sm32:em32,num_ozmixm). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ozmixm=initial_data_value IF (.NOT.grid%is_intermediate) THEN ALLOCATE( grid%tail_statevars%next ) grid%tail_statevars => grid%tail_statevars%next NULLIFY( grid%tail_statevars%next ) grid%tail_statevars%VarName = 'ozmixm' grid%tail_statevars%DataName = 'OZMIXM' grid%tail_statevars%Description = '-' grid%tail_statevars%Units = '-' grid%tail_statevars%Type = 'r' grid%tail_statevars%ProcOrient = ' ' grid%tail_statevars%MemoryOrder = 'XZY' grid%tail_statevars%Stagger = '' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Ndim = 4 grid%tail_statevars%Restart = .FALSE. grid%tail_statevars%scalar_array = .TRUE. grid%tail_statevars%rfield_4d => grid%ozmixm grid%tail_statevars%num_table => ozmixm_num_table grid%tail_statevars%index_table => ozmixm_index_table grid%tail_statevars%boundary_table => ozmixm_boundary_table grid%tail_statevars%dname_table => ozmixm_dname_table grid%tail_statevars%desc_table => ozmixm_desc_table grid%tail_statevars%units_table => ozmixm_units_table grid%tail_statevars%streams_table => ozmixm_streams_table grid%tail_statevars%streams(1) = 0 grid%tail_statevars%streams(2) = 0 grid%tail_statevars%sd1 = ids grid%tail_statevars%ed1 = (ide-1) grid%tail_statevars%sd2 = 1 grid%tail_statevars%ed2 = config_flags%levsiz grid%tail_statevars%sd3 = jds grid%tail_statevars%ed3 = (jde-1) grid%tail_statevars%sm1 = ims grid%tail_statevars%em1 = ime grid%tail_statevars%sm2 = 1 grid%tail_statevars%em2 = config_flags%levsiz grid%tail_statevars%sm3 = jms grid%tail_statevars%em3 = jme grid%tail_statevars%sp1 = ips grid%tail_statevars%ep1 = MIN( (ide-1), ipe ) grid%tail_statevars%sp2 = 1 grid%tail_statevars%ep2 = config_flags%levsiz grid%tail_statevars%sp3 = jps grid%tail_statevars%ep3 = MIN( (jde-1), jpe ) grid%tail_statevars%subgrid_x = .FALSE. grid%tail_statevars%subgrid_y = .FALSE. grid%tail_statevars%dimname1 = 'west_east' grid%tail_statevars%dimname2 = 'levsiz' grid%tail_statevars%dimname3 = 'south_north' ENDIF ELSE ALLOCATE(grid%ozmixm(1,1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",427,& 'frame/module_domain.f: Failed to allocate grid%ozmixm(1,1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'pin').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((model_config_rec%levsiz)-(1)+1))) * 4 ALLOCATE(grid%pin(1:model_config_rec%levsiz),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",436,& 'frame/module_domain.f: Failed to allocate grid%pin(1:model_config_rec%levsiz). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%pin=initial_data_value IF (.NOT.grid%is_intermediate) THEN ALLOCATE( grid%tail_statevars%next ) grid%tail_statevars => grid%tail_statevars%next NULLIFY( grid%tail_statevars%next ) grid%tail_statevars%VarName = 'pin' grid%tail_statevars%DataName = 'PIN' grid%tail_statevars%Description = 'PRESSURE LEVEL OF OZONE MIXING RATIO' grid%tail_statevars%Units = 'millibar' grid%tail_statevars%Type = 'r' grid%tail_statevars%ProcOrient = ' ' grid%tail_statevars%MemoryOrder = 'Z' grid%tail_statevars%Stagger = '' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Ndim = 1 grid%tail_statevars%Restart = .FALSE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_1d => grid%pin grid%tail_statevars%streams(1) = 0 grid%tail_statevars%streams(2) = 0 grid%tail_statevars%sd1 = 1 grid%tail_statevars%ed1 = config_flags%levsiz grid%tail_statevars%sd2 = 1 grid%tail_statevars%ed2 = 1 grid%tail_statevars%sd3 = 1 grid%tail_statevars%ed3 = 1 grid%tail_statevars%sm1 = 1 grid%tail_statevars%em1 = config_flags%levsiz grid%tail_statevars%sm2 = 1 grid%tail_statevars%em2 = 1 grid%tail_statevars%sm3 = 1 grid%tail_statevars%em3 = 1 grid%tail_statevars%sp1 = 1 grid%tail_statevars%ep1 = config_flags%levsiz grid%tail_statevars%sp2 = 1 grid%tail_statevars%ep2 = 1 grid%tail_statevars%sp3 = 1 grid%tail_statevars%ep3 = 1 grid%tail_statevars%dimname1 = 'levsiz' grid%tail_statevars%dimname2 = '' grid%tail_statevars%dimname3 = '' ENDIF ELSE ALLOCATE(grid%pin(1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",484,& 'frame/module_domain.f: Failed to allocate grid%pin(1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'o3rad').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em33)-(sm33)+1))*(((em32)-(sm32)+1))) * 4 ALLOCATE(grid%o3rad(sm31:em31,sm33:em33,sm32:em32),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",493,& 'frame/module_domain.f: Failed to allocate grid%o3rad(sm31:em31,sm33:em33,sm32:em32). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%o3rad=initial_data_value IF (.NOT.grid%is_intermediate) THEN ALLOCATE( grid%tail_statevars%next ) grid%tail_statevars => grid%tail_statevars%next NULLIFY( grid%tail_statevars%next ) grid%tail_statevars%VarName = 'o3rad' grid%tail_statevars%DataName = 'O3RAD' grid%tail_statevars%Description = 'RADIATION 3D OZONE' grid%tail_statevars%Units = 'ppmv' grid%tail_statevars%Type = 'r' grid%tail_statevars%ProcOrient = ' ' grid%tail_statevars%MemoryOrder = 'XZY' grid%tail_statevars%Stagger = '' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Ndim = 3 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_3d => grid%o3rad grid%tail_statevars%streams(1) = 33554433 grid%tail_statevars%streams(2) = 2097152 grid%tail_statevars%sd1 = ids grid%tail_statevars%ed1 = (ide-1) grid%tail_statevars%sd2 = kds grid%tail_statevars%ed2 = (kde-1) grid%tail_statevars%sd3 = jds grid%tail_statevars%ed3 = (jde-1) grid%tail_statevars%sm1 = ims grid%tail_statevars%em1 = ime grid%tail_statevars%sm2 = kms grid%tail_statevars%em2 = kme grid%tail_statevars%sm3 = jms grid%tail_statevars%em3 = jme grid%tail_statevars%sp1 = ips grid%tail_statevars%ep1 = MIN( (ide-1), ipe ) grid%tail_statevars%sp2 = kps grid%tail_statevars%ep2 = MIN( (kde-1), kpe ) grid%tail_statevars%sp3 = jps grid%tail_statevars%ep3 = MIN( (jde-1), jpe ) grid%tail_statevars%subgrid_x = .FALSE. grid%tail_statevars%subgrid_y = .FALSE. grid%tail_statevars%dimname1 = 'west_east' grid%tail_statevars%dimname2 = 'bottom_top' grid%tail_statevars%dimname3 = 'south_north' ENDIF ELSE ALLOCATE(grid%o3rad(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",543,& 'frame/module_domain.f: Failed to allocate grid%o3rad(1,1,1). ') endif ENDIF IF ( setinitval .EQ. 3 ) grid%ntrack=0 IF ( setinitval .EQ. 3 ) grid%num_snso_layers=0 IF ( setinitval .EQ. 3 ) grid%num_snow_layers=0 IF ( setinitval .EQ. 3 ) grid%use_aero_icbc=.FALSE. IF ( setinitval .EQ. 3 ) grid%use_mp_re=0 IF ( setinitval .EQ. 3 ) grid%ccn_conc=initial_data_value IF ( setinitval .EQ. 3 ) grid%hail_opt=0 IF ( setinitval .EQ. 3 ) grid%sf_lake_physics=0 IF ( setinitval .EQ. 3 ) grid%dyn_opt=0 IF ( setinitval .EQ. 3 ) grid%rk_ord=0 IF ( setinitval .EQ. 3 ) grid%w_damping=0 IF ( setinitval .EQ. 3 ) grid%diff_opt=0 IF ( setinitval .EQ. 3 ) grid%km_opt=0 IF ( setinitval .EQ. 3 ) grid%damp_opt=0 IF ( setinitval .EQ. 3 ) grid%zdamp=initial_data_value IF ( setinitval .EQ. 3 ) grid%base_pres=initial_data_value IF ( setinitval .EQ. 3 ) grid%base_temp=initial_data_value IF ( setinitval .EQ. 3 ) grid%base_lapse=initial_data_value IF ( setinitval .EQ. 3 ) grid%iso_temp=initial_data_value IF ( setinitval .EQ. 3 ) grid%dampcoef=initial_data_value IF ( setinitval .EQ. 3 ) grid%khdif=initial_data_value IF ( setinitval .EQ. 3 ) grid%kvdif=initial_data_value IF ( setinitval .EQ. 3 ) grid%c_s=initial_data_value IF ( setinitval .EQ. 3 ) grid%c_k=initial_data_value IF ( setinitval .EQ. 3 ) grid%smdiv=initial_data_value IF ( setinitval .EQ. 3 ) grid%emdiv=initial_data_value IF ( setinitval .EQ. 3 ) grid%epssm=initial_data_value IF ( setinitval .EQ. 3 ) grid%nhmove=0 IF ( setinitval .EQ. 3 ) grid%non_hydrostatic=.FALSE. IF ( setinitval .EQ. 3 ) grid%time_step_sound=0 IF ( setinitval .EQ. 3 ) grid%h_mom_adv_order=0 IF ( setinitval .EQ. 3 ) grid%v_mom_adv_order=0 IF ( setinitval .EQ. 3 ) grid%h_sca_adv_order=0 IF ( setinitval .EQ. 3 ) grid%v_sca_adv_order=0 IF ( setinitval .EQ. 3 ) grid%top_radiation=.FALSE. IF ( setinitval .EQ. 3 ) grid%tke_upper_bound=initial_data_value IF ( setinitval .EQ. 3 ) grid%tke_drag_coefficient=initial_data_value IF ( setinitval .EQ. 3 ) grid%tke_heat_flux=initial_data_value IF ( setinitval .EQ. 3 ) grid%pert_coriolis=.FALSE. IF ( setinitval .EQ. 3 ) grid%euler_adv=.FALSE. IF ( setinitval .EQ. 3 ) grid%idtadt=0 IF ( setinitval .EQ. 3 ) grid%idtadc=0 IF ( setinitval .EQ. 3 ) grid%codamp=initial_data_value IF ( setinitval .EQ. 3 ) grid%coac=initial_data_value IF ( setinitval .EQ. 3 ) grid%slophc=initial_data_value IF ( setinitval .EQ. 3 ) grid%wp=initial_data_value IF ( setinitval .EQ. 3 ) grid%dwdt_damping_lev=initial_data_value IF ( setinitval .EQ. 3 ) grid%terrain_smoothing=0 IF ( setinitval .EQ. 3 ) grid%spec_bdy_width=0 IF ( setinitval .EQ. 3 ) grid%spec_zone=0 IF ( setinitval .EQ. 3 ) grid%relax_zone=0 IF ( setinitval .EQ. 3 ) grid%specified=.FALSE. IF ( setinitval .EQ. 3 ) grid%periodic_x=.FALSE. IF ( setinitval .EQ. 3 ) grid%symmetric_xs=.FALSE. IF ( setinitval .EQ. 3 ) grid%symmetric_xe=.FALSE. IF ( setinitval .EQ. 3 ) grid%open_xs=.FALSE. IF ( setinitval .EQ. 3 ) grid%open_xe=.FALSE. IF ( setinitval .EQ. 3 ) grid%periodic_y=.FALSE. IF ( setinitval .EQ. 3 ) grid%symmetric_ys=.FALSE. IF ( setinitval .EQ. 3 ) grid%symmetric_ye=.FALSE. IF ( setinitval .EQ. 3 ) grid%open_ys=.FALSE. IF ( setinitval .EQ. 3 ) grid%open_ye=.FALSE. IF ( setinitval .EQ. 3 ) grid%polar=.FALSE. IF ( setinitval .EQ. 3 ) grid%nested=.FALSE. IF ( setinitval .EQ. 3 ) grid%real_data_init_type=0 IF ( setinitval .EQ. 3 ) grid%background_proc_id=0 IF ( setinitval .EQ. 3 ) grid%forecast_proc_id=0 IF ( setinitval .EQ. 3 ) grid%production_status=0 IF ( setinitval .EQ. 3 ) grid%compression=0 IF ( setinitval .EQ. 3 ) grid%cen_lat=initial_data_value IF ( setinitval .EQ. 3 ) grid%cen_lon=initial_data_value IF ( setinitval .EQ. 3 ) grid%truelat1=initial_data_value IF ( setinitval .EQ. 3 ) grid%truelat2=initial_data_value IF ( setinitval .EQ. 3 ) grid%moad_cen_lat=initial_data_value IF ( setinitval .EQ. 3 ) grid%stand_lon=initial_data_value IF ( setinitval .EQ. 3 ) grid%flag_metgrid=0 IF ( setinitval .EQ. 3 ) grid%flag_snow=0 IF ( setinitval .EQ. 3 ) grid%flag_psfc=0 IF ( setinitval .EQ. 3 ) grid%flag_sm000010=0 IF ( setinitval .EQ. 3 ) grid%flag_sm010040=0 IF ( setinitval .EQ. 3 ) grid%flag_sm040100=0 IF ( setinitval .EQ. 3 ) grid%flag_sm100200=0 IF ( setinitval .EQ. 3 ) grid%flag_st000010=0 IF ( setinitval .EQ. 3 ) grid%flag_st010040=0 IF ( setinitval .EQ. 3 ) grid%flag_st040100=0 IF ( setinitval .EQ. 3 ) grid%flag_st100200=0 IF ( setinitval .EQ. 3 ) grid%flag_slp=0 IF ( setinitval .EQ. 3 ) grid%flag_soilhgt=0 IF ( setinitval .EQ. 3 ) grid%flag_mf_xy=0 IF ( setinitval .EQ. 3 ) grid%bdyfrq=initial_data_value IF ( setinitval .EQ. 3 ) grid%iswater=0 IF ( setinitval .EQ. 3 ) grid%islake=0 IF ( setinitval .EQ. 3 ) grid%isice=0 IF ( setinitval .EQ. 3 ) grid%isurban=0 IF ( setinitval .EQ. 3 ) grid%isoilwater=0 IF ( setinitval .EQ. 3 ) grid%map_proj=0 IF ( setinitval .EQ. 3 ) grid%dfi_stage=0 IF ( setinitval .EQ. 3 ) grid%mp_physics_dfi=0 IF ( setinitval .EQ. 3 ) grid%use_wps_input=0 IF (.NOT.grid%is_intermediate) THEN ALLOCATE( grid%tail_statevars%next ) grid%tail_statevars => grid%tail_statevars%next NULLIFY( grid%tail_statevars%next ) grid%tail_statevars%ProcOrient = ' ' grid%tail_statevars%VarName = 'nodyn_dummy' grid%tail_statevars%DataName = 'NODYN_DUMMY' grid%tail_statevars%Description = '' grid%tail_statevars%Units = '' grid%tail_statevars%Type = 'i' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Restart = .FALSE. grid%tail_statevars%Ndim = 0 grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%ifield_0d => grid%nodyn_dummy grid%tail_statevars%streams(1) = 0 grid%tail_statevars%streams(2) = 0 ENDIF IF ( setinitval .EQ. 3 ) grid%nodyn_dummy=0 IF ( setinitval .EQ. 3 ) grid%maxpatch=0 END SUBROUTINE alloc_space_field_core_7 END MODULE module_alloc_space_7