MODULE module_alloc_space_5 CONTAINS SUBROUTINE alloc_space_field_core_5 ( 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%auxinput5_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput5_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput5_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput5_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput5_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput5_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput5_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput5_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput5_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput5_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput5_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput5_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput5_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput5=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput5=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput6_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput6=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput6=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput7_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput7=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput7=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput8_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput8=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput8=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput9_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput9=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput9=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput10_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput10=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput10=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput11_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput11=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput11=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput12_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput12=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput12=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput13_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput13=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput13=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput14_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput14=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput14=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput15_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput15=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput15=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput16_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput16=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput16=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput17_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput17=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput17=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput18_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput18=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput18=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput19_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput19=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput19=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput20_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput20=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput20=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput21_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput21=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput21=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput22_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput22=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput22=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput23_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput23=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput23=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_oid=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_interval_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_interval_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_interval_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_interval_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_interval_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_interval=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_begin_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_begin_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_begin_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_begin_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_begin_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_begin=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_end_y=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_end_d=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_end_h=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_end_m=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_end_s=0 IF ( setinitval .EQ. 3 ) grid%auxinput24_end=0 IF ( setinitval .EQ. 3 ) grid%io_form_auxinput24=0 IF ( setinitval .EQ. 3 ) grid%frames_per_auxinput24=0 IF ( setinitval .EQ. 3 ) grid%oid=0 IF ( setinitval .EQ. 3 ) grid%history_interval=0 IF ( setinitval .EQ. 3 ) grid%history_interval2=0 IF ( setinitval .EQ. 3 ) grid%history_interval_change=0 IF ( setinitval .EQ. 3 ) grid%frames_per_outfile=0 IF ( setinitval .EQ. 3 ) grid%restart=.FALSE. IF ( setinitval .EQ. 3 ) grid%restart_interval=0 IF ( setinitval .EQ. 3 ) grid%io_form_input=0 IF ( setinitval .EQ. 3 ) grid%io_form_history=0 IF ( setinitval .EQ. 3 ) grid%io_form_restart=0 IF ( setinitval .EQ. 3 ) grid%io_form_boundary=0 IF ( setinitval .EQ. 3 ) grid%debug_level=0 IF ( setinitval .EQ. 3 ) grid%self_test_domain=.FALSE. IF ( setinitval .EQ. 3 ) grid%use_netcdf_classic=.FALSE. IF ( setinitval .EQ. 3 ) grid%history_interval_d=0 IF ( setinitval .EQ. 3 ) grid%history_interval_h=0 IF ( setinitval .EQ. 3 ) grid%history_interval_m=0 IF ( setinitval .EQ. 3 ) grid%history_interval_s=0 IF ( setinitval .EQ. 3 ) grid%inputout_interval_d=0 IF ( setinitval .EQ. 3 ) grid%inputout_interval_h=0 IF ( setinitval .EQ. 3 ) grid%inputout_interval_m=0 IF ( setinitval .EQ. 3 ) grid%inputout_interval_s=0 IF ( setinitval .EQ. 3 ) grid%inputout_interval=0 IF ( setinitval .EQ. 3 ) grid%restart_interval_d=0 IF ( setinitval .EQ. 3 ) grid%restart_interval_h=0 IF ( setinitval .EQ. 3 ) grid%restart_interval_m=0 IF ( setinitval .EQ. 3 ) grid%restart_interval_s=0 IF ( setinitval .EQ. 3 ) grid%history_begin_y=0 IF ( setinitval .EQ. 3 ) grid%history_begin_d=0 IF ( setinitval .EQ. 3 ) grid%history_begin_h=0 IF ( setinitval .EQ. 3 ) grid%history_begin_m=0 IF ( setinitval .EQ. 3 ) grid%history_begin_s=0 IF ( setinitval .EQ. 3 ) grid%history_begin=0 IF ( setinitval .EQ. 3 ) grid%inputout_begin_y=0 IF ( setinitval .EQ. 3 ) grid%inputout_begin_d=0 IF ( setinitval .EQ. 3 ) grid%inputout_begin_h=0 IF ( setinitval .EQ. 3 ) grid%inputout_begin_m=0 IF ( setinitval .EQ. 3 ) grid%inputout_begin_s=0 IF ( setinitval .EQ. 3 ) grid%restart_begin_y=0 IF ( setinitval .EQ. 3 ) grid%restart_begin_d=0 IF ( setinitval .EQ. 3 ) grid%restart_begin_h=0 IF ( setinitval .EQ. 3 ) grid%restart_begin_m=0 IF ( setinitval .EQ. 3 ) grid%restart_begin_s=0 IF ( setinitval .EQ. 3 ) grid%restart_begin=0 IF ( setinitval .EQ. 3 ) grid%history_end_y=0 IF ( setinitval .EQ. 3 ) grid%history_end_d=0 IF ( setinitval .EQ. 3 ) grid%history_end_h=0 IF ( setinitval .EQ. 3 ) grid%history_end_m=0 IF ( setinitval .EQ. 3 ) grid%history_end_s=0 IF ( setinitval .EQ. 3 ) grid%history_end=0 IF ( setinitval .EQ. 3 ) grid%inputout_end_y=0 IF ( setinitval .EQ. 3 ) grid%inputout_end_d=0 IF ( setinitval .EQ. 3 ) grid%inputout_end_h=0 IF ( setinitval .EQ. 3 ) grid%inputout_end_m=0 IF ( setinitval .EQ. 3 ) grid%inputout_end_s=0 IF ( setinitval .EQ. 3 ) grid%simulation_start_year=0 IF ( setinitval .EQ. 3 ) grid%simulation_start_month=0 IF ( setinitval .EQ. 3 ) grid%simulation_start_day=0 IF ( setinitval .EQ. 3 ) grid%simulation_start_hour=0 IF ( setinitval .EQ. 3 ) grid%simulation_start_minute=0 IF ( setinitval .EQ. 3 ) grid%simulation_start_second=0 IF ( setinitval .EQ. 3 ) grid%reset_simulation_start=.FALSE. IF ( setinitval .EQ. 3 ) grid%sr_x=0 IF ( setinitval .EQ. 3 ) grid%sr_y=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_interval_d=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_interval_h=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_interval_m=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_interval_s=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_interval_y=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_interval=0 IF ( setinitval .EQ. 3 ) grid%gfdda_interval_d=0 IF ( setinitval .EQ. 3 ) grid%gfdda_interval_h=0 IF ( setinitval .EQ. 3 ) grid%gfdda_interval_m=0 IF ( setinitval .EQ. 3 ) grid%gfdda_interval_s=0 IF ( setinitval .EQ. 3 ) grid%gfdda_interval_y=0 IF ( setinitval .EQ. 3 ) grid%gfdda_interval=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_begin_y=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_begin_d=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_begin_h=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_begin_m=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_begin_s=0 IF ( setinitval .EQ. 3 ) grid%gfdda_begin_y=0 IF ( setinitval .EQ. 3 ) grid%gfdda_begin_d=0 IF ( setinitval .EQ. 3 ) grid%gfdda_begin_h=0 IF ( setinitval .EQ. 3 ) grid%gfdda_begin_m=0 IF ( setinitval .EQ. 3 ) grid%gfdda_begin_s=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_end_y=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_end_d=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_end_h=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_end_m=0 IF ( setinitval .EQ. 3 ) grid%sgfdda_end_s=0 IF ( setinitval .EQ. 3 ) grid%gfdda_end_y=0 IF ( setinitval .EQ. 3 ) grid%gfdda_end_d=0 IF ( setinitval .EQ. 3 ) grid%gfdda_end_h=0 IF ( setinitval .EQ. 3 ) grid%gfdda_end_m=0 IF ( setinitval .EQ. 3 ) grid%gfdda_end_s=0 IF ( setinitval .EQ. 3 ) grid%io_form_sgfdda=0 IF ( setinitval .EQ. 3 ) grid%io_form_gfdda=0 IF ( setinitval .EQ. 3 ) grid%ignore_iofields_warning=.FALSE. IF ( setinitval .EQ. 3 ) grid%ncd_nofill=.FALSE. IF(okay_to_alloc.AND.in_use_for_config(id,'coef_bb_dc').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%coef_bb_dc(sm31:em31,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",652,& 'frame/module_domain.f: Failed to allocate grid%coef_bb_dc(sm31:em31,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%coef_bb_dc=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 = 'coef_bb_dc' grid%tail_statevars%DataName = 'COEF_BB_DC' grid%tail_statevars%Description = 'coefficients for the BB diurnal cycle' grid%tail_statevars%Units = '' grid%tail_statevars%Type = 'r' grid%tail_statevars%ProcOrient = ' ' grid%tail_statevars%MemoryOrder = 'XY' grid%tail_statevars%Stagger = '' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Ndim = 2 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_2d => grid%coef_bb_dc grid%tail_statevars%streams(1) = 1 grid%tail_statevars%streams(2) = 2097152 grid%tail_statevars%sd1 = ids grid%tail_statevars%ed1 = (ide-1) grid%tail_statevars%sd2 = jds grid%tail_statevars%ed2 = (jde-1) grid%tail_statevars%sd3 = 1 grid%tail_statevars%ed3 = 1 grid%tail_statevars%sm1 = ims grid%tail_statevars%em1 = ime grid%tail_statevars%sm2 = jms grid%tail_statevars%em2 = jme grid%tail_statevars%sm3 = 1 grid%tail_statevars%em3 = 1 grid%tail_statevars%sp1 = ips grid%tail_statevars%ep1 = MIN( (ide-1), ipe ) grid%tail_statevars%sp2 = jps grid%tail_statevars%ep2 = MIN( (jde-1), jpe ) grid%tail_statevars%sp3 = 1 grid%tail_statevars%ep3 = 1 grid%tail_statevars%subgrid_x = .FALSE. grid%tail_statevars%subgrid_y = .FALSE. grid%tail_statevars%dimname1 = 'west_east' grid%tail_statevars%dimname2 = 'south_north' grid%tail_statevars%dimname3 = '' ENDIF ELSE ALLOCATE(grid%coef_bb_dc(1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",702,& 'frame/module_domain.f: Failed to allocate grid%coef_bb_dc(1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'fire_hist').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%fire_hist(sm31:em31,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",711,& 'frame/module_domain.f: Failed to allocate grid%fire_hist(sm31:em31,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%fire_hist=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 = 'fire_hist' grid%tail_statevars%DataName = 'FIRE_HIST' grid%tail_statevars%Description = '2D array for fire burn history' grid%tail_statevars%Units = '' grid%tail_statevars%Type = 'r' grid%tail_statevars%ProcOrient = ' ' grid%tail_statevars%MemoryOrder = 'XY' grid%tail_statevars%Stagger = '' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Ndim = 2 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_2d => grid%fire_hist grid%tail_statevars%streams(1) = 1 grid%tail_statevars%streams(2) = 2097152 grid%tail_statevars%sd1 = ids grid%tail_statevars%ed1 = (ide-1) grid%tail_statevars%sd2 = jds grid%tail_statevars%ed2 = (jde-1) grid%tail_statevars%sd3 = 1 grid%tail_statevars%ed3 = 1 grid%tail_statevars%sm1 = ims grid%tail_statevars%em1 = ime grid%tail_statevars%sm2 = jms grid%tail_statevars%em2 = jme grid%tail_statevars%sm3 = 1 grid%tail_statevars%em3 = 1 grid%tail_statevars%sp1 = ips grid%tail_statevars%ep1 = MIN( (ide-1), ipe ) grid%tail_statevars%sp2 = jps grid%tail_statevars%ep2 = MIN( (jde-1), jpe ) grid%tail_statevars%sp3 = 1 grid%tail_statevars%ep3 = 1 grid%tail_statevars%subgrid_x = .FALSE. grid%tail_statevars%subgrid_y = .FALSE. grid%tail_statevars%dimname1 = 'west_east' grid%tail_statevars%dimname2 = 'south_north' grid%tail_statevars%dimname3 = '' ENDIF ELSE ALLOCATE(grid%fire_hist(1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",761,& 'frame/module_domain.f: Failed to allocate grid%fire_hist(1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'aod3d_smoke').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%aod3d_smoke(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",770,& 'frame/module_domain.f: Failed to allocate grid%aod3d_smoke(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%aod3d_smoke=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 = 'aod3d_smoke' grid%tail_statevars%DataName = 'AOD3D_SMOKE' grid%tail_statevars%Description = '3D aerosol mass extinction at 550nm' 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 = 3 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_3d => grid%aod3d_smoke grid%tail_statevars%streams(1) = 1 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%aod3d_smoke(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",820,& 'frame/module_domain.f: Failed to allocate grid%aod3d_smoke(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'min_fplume').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%min_fplume(sm31:em31,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",829,& 'frame/module_domain.f: Failed to allocate grid%min_fplume(sm31:em31,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%min_fplume=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%VarName = 'min_fplume' grid%tail_statevars%DataName = 'MIN_FPLUME' grid%tail_statevars%Description = 'min ver. level of BB plume rise' grid%tail_statevars%Units = '' grid%tail_statevars%Type = 'i' grid%tail_statevars%ProcOrient = ' ' grid%tail_statevars%MemoryOrder = 'XY' grid%tail_statevars%Stagger = '' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Ndim = 2 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%ifield_2d => grid%min_fplume grid%tail_statevars%streams(1) = 1 grid%tail_statevars%streams(2) = 2097152 grid%tail_statevars%sd1 = ids grid%tail_statevars%ed1 = (ide-1) grid%tail_statevars%sd2 = jds grid%tail_statevars%ed2 = (jde-1) grid%tail_statevars%sd3 = 1 grid%tail_statevars%ed3 = 1 grid%tail_statevars%sm1 = ims grid%tail_statevars%em1 = ime grid%tail_statevars%sm2 = jms grid%tail_statevars%em2 = jme grid%tail_statevars%sm3 = 1 grid%tail_statevars%em3 = 1 grid%tail_statevars%sp1 = ips grid%tail_statevars%ep1 = MIN( (ide-1), ipe ) grid%tail_statevars%sp2 = jps grid%tail_statevars%ep2 = MIN( (jde-1), jpe ) grid%tail_statevars%sp3 = 1 grid%tail_statevars%ep3 = 1 grid%tail_statevars%subgrid_x = .FALSE. grid%tail_statevars%subgrid_y = .FALSE. grid%tail_statevars%dimname1 = 'west_east' grid%tail_statevars%dimname2 = 'south_north' grid%tail_statevars%dimname3 = '' ENDIF ELSE ALLOCATE(grid%min_fplume(1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",879,& 'frame/module_domain.f: Failed to allocate grid%min_fplume(1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'max_fplume').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%max_fplume(sm31:em31,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",888,& 'frame/module_domain.f: Failed to allocate grid%max_fplume(sm31:em31,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%max_fplume=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%VarName = 'max_fplume' grid%tail_statevars%DataName = 'MAX_FPLUME' grid%tail_statevars%Description = 'max ver. level of BB plume rise' grid%tail_statevars%Units = '' grid%tail_statevars%Type = 'i' grid%tail_statevars%ProcOrient = ' ' grid%tail_statevars%MemoryOrder = 'XY' grid%tail_statevars%Stagger = '' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Ndim = 2 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%ifield_2d => grid%max_fplume grid%tail_statevars%streams(1) = 1 grid%tail_statevars%streams(2) = 2097152 grid%tail_statevars%sd1 = ids grid%tail_statevars%ed1 = (ide-1) grid%tail_statevars%sd2 = jds grid%tail_statevars%ed2 = (jde-1) grid%tail_statevars%sd3 = 1 grid%tail_statevars%ed3 = 1 grid%tail_statevars%sm1 = ims grid%tail_statevars%em1 = ime grid%tail_statevars%sm2 = jms grid%tail_statevars%em2 = jme grid%tail_statevars%sm3 = 1 grid%tail_statevars%em3 = 1 grid%tail_statevars%sp1 = ips grid%tail_statevars%ep1 = MIN( (ide-1), ipe ) grid%tail_statevars%sp2 = jps grid%tail_statevars%ep2 = MIN( (jde-1), jpe ) grid%tail_statevars%sp3 = 1 grid%tail_statevars%ep3 = 1 grid%tail_statevars%subgrid_x = .FALSE. grid%tail_statevars%subgrid_y = .FALSE. grid%tail_statevars%dimname1 = 'west_east' grid%tail_statevars%dimname2 = 'south_north' grid%tail_statevars%dimname3 = '' ENDIF ELSE ALLOCATE(grid%max_fplume(1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",938,& 'frame/module_domain.f: Failed to allocate grid%max_fplume(1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'ddmass_smoke').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%ddmass_smoke(sm31:em31,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",947,& 'frame/module_domain.f: Failed to allocate grid%ddmass_smoke(sm31:em31,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ddmass_smoke=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 = 'ddmass_smoke' grid%tail_statevars%DataName = 'DDMASS_SMOKE' grid%tail_statevars%Description = 'smoke dry deposition, accumulated' grid%tail_statevars%Units = 'ug/m2' grid%tail_statevars%Type = 'r' grid%tail_statevars%ProcOrient = ' ' grid%tail_statevars%MemoryOrder = 'XY' grid%tail_statevars%Stagger = '' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Ndim = 2 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_2d => grid%ddmass_smoke grid%tail_statevars%streams(1) = 1 grid%tail_statevars%streams(2) = 2097152 grid%tail_statevars%sd1 = ids grid%tail_statevars%ed1 = (ide-1) grid%tail_statevars%sd2 = jds grid%tail_statevars%ed2 = (jde-1) grid%tail_statevars%sd3 = 1 grid%tail_statevars%ed3 = 1 grid%tail_statevars%sm1 = ims grid%tail_statevars%em1 = ime grid%tail_statevars%sm2 = jms grid%tail_statevars%em2 = jme grid%tail_statevars%sm3 = 1 grid%tail_statevars%em3 = 1 grid%tail_statevars%sp1 = ips grid%tail_statevars%ep1 = MIN( (ide-1), ipe ) grid%tail_statevars%sp2 = jps grid%tail_statevars%ep2 = MIN( (jde-1), jpe ) grid%tail_statevars%sp3 = 1 grid%tail_statevars%ep3 = 1 grid%tail_statevars%subgrid_x = .FALSE. grid%tail_statevars%subgrid_y = .FALSE. grid%tail_statevars%dimname1 = 'west_east' grid%tail_statevars%dimname2 = 'south_north' grid%tail_statevars%dimname3 = '' ENDIF ELSE ALLOCATE(grid%ddmass_smoke(1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",997,& 'frame/module_domain.f: Failed to allocate grid%ddmass_smoke(1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'smoke_gc').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((model_config_rec%num_metgrid_levels)-(1)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%smoke_gc(sm31:em31,1:model_config_rec%num_metgrid_levels,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1006,& 'frame/module_domain.f: Failed to allocate grid%smoke_gc(sm31:em31,1:model_config_rec%num_metgrid_levels,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%smoke_gc=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 = 'smoke_gc' grid%tail_statevars%DataName = 'MASSDEN' grid%tail_statevars%Description = 'smoke concentration' grid%tail_statevars%Units = 'kg/kg' grid%tail_statevars%Type = 'r' grid%tail_statevars%ProcOrient = ' ' grid%tail_statevars%MemoryOrder = 'XZY' grid%tail_statevars%Stagger = 'Z' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Ndim = 3 grid%tail_statevars%Restart = .FALSE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_3d => grid%smoke_gc grid%tail_statevars%streams(1) = 67108864 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%num_metgrid_levels 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%num_metgrid_levels 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%num_metgrid_levels 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 = 'num_metgrid_levels_stag' grid%tail_statevars%dimname3 = 'south_north' ENDIF ELSE ALLOCATE(grid%smoke_gc(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1056,& 'frame/module_domain.f: Failed to allocate grid%smoke_gc(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'erod'))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em33)-(sm33)+1))*(((model_config_rec%erosion_dim)-(1)+1))) * 4 ALLOCATE(grid%erod(sm31:em31,sm33:em33,1:model_config_rec%erosion_dim),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1065,& 'frame/module_domain.f: Failed to allocate grid%erod(sm31:em31,sm33:em33,1:model_config_rec%erosion_dim). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%erod=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 = 'erod' grid%tail_statevars%DataName = 'EROD' grid%tail_statevars%Description = 'fraction of erodible surface in each grid cell (0-1)' grid%tail_statevars%Units = 'none' grid%tail_statevars%Type = 'r' grid%tail_statevars%ProcOrient = ' ' grid%tail_statevars%MemoryOrder = 'XYZ' 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%erod grid%tail_statevars%streams(1) = 201326592 grid%tail_statevars%streams(2) = 2097152 grid%tail_statevars%sd1 = ids grid%tail_statevars%ed1 = (ide-1) grid%tail_statevars%sd2 = jds grid%tail_statevars%ed2 = (jde-1) grid%tail_statevars%sd3 = 1 grid%tail_statevars%ed3 = config_flags%erosion_dim grid%tail_statevars%sm1 = ims grid%tail_statevars%em1 = ime grid%tail_statevars%sm2 = jms grid%tail_statevars%em2 = jme grid%tail_statevars%sm3 = 1 grid%tail_statevars%em3 = config_flags%erosion_dim grid%tail_statevars%sp1 = ips grid%tail_statevars%ep1 = MIN( (ide-1), ipe ) grid%tail_statevars%sp2 = jps grid%tail_statevars%ep2 = MIN( (jde-1), jpe ) grid%tail_statevars%sp3 = 1 grid%tail_statevars%ep3 = config_flags%erosion_dim grid%tail_statevars%subgrid_x = .FALSE. grid%tail_statevars%subgrid_y = .FALSE. grid%tail_statevars%dimname1 = 'west_east' grid%tail_statevars%dimname2 = 'south_north' grid%tail_statevars%dimname3 = 'dust_erosion_dimension' ENDIF ELSE ALLOCATE(grid%erod(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1115,& 'frame/module_domain.f: Failed to allocate grid%erod(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'cldfra2').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%cldfra2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1124,& 'frame/module_domain.f: Failed to allocate grid%cldfra2(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%cldfra2=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 = 'cldfra2' grid%tail_statevars%DataName = 'CLDFRA2' grid%tail_statevars%Description = 'CLOUD FRACTION' 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 = 3 grid%tail_statevars%Restart = .FALSE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_3d => grid%cldfra2 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 = 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%cldfra2(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1174,& 'frame/module_domain.f: Failed to allocate grid%cldfra2(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'rainprod').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%rainprod(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1183,& 'frame/module_domain.f: Failed to allocate grid%rainprod(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%rainprod=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 = 'rainprod' grid%tail_statevars%DataName = 'RAINPROD' grid%tail_statevars%Description = 'TOTAL RAIN PRODUCTION RATE' grid%tail_statevars%Units = 's-1' 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 = .FALSE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_3d => grid%rainprod 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 = 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%rainprod(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1233,& 'frame/module_domain.f: Failed to allocate grid%rainprod(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'evapprod').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%evapprod(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1242,& 'frame/module_domain.f: Failed to allocate grid%evapprod(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%evapprod=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 = 'evapprod' grid%tail_statevars%DataName = 'EVAPPROD' grid%tail_statevars%Description = 'RAIN EVAPORATION RATE' grid%tail_statevars%Units = 's-1' 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 = .FALSE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_3d => grid%evapprod 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 = 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%evapprod(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1292,& 'frame/module_domain.f: Failed to allocate grid%evapprod(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'qv_b4mp').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%qv_b4mp(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1301,& 'frame/module_domain.f: Failed to allocate grid%qv_b4mp(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%qv_b4mp=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 = 'qv_b4mp' grid%tail_statevars%DataName = 'QV_B4MP' grid%tail_statevars%Description = 'WATER VAPOR BEFORE MICROPHYSICS' grid%tail_statevars%Units = 'kg kg-1' 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 = .FALSE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_3d => grid%qv_b4mp 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 = 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%qv_b4mp(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1351,& 'frame/module_domain.f: Failed to allocate grid%qv_b4mp(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'qc_b4mp').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%qc_b4mp(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1360,& 'frame/module_domain.f: Failed to allocate grid%qc_b4mp(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%qc_b4mp=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 = 'qc_b4mp' grid%tail_statevars%DataName = 'QC_B4MP' grid%tail_statevars%Description = 'CLOUD WATER BEFORE MICROPHYSICS' grid%tail_statevars%Units = 'kg kg-1' 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 = .FALSE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_3d => grid%qc_b4mp 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 = 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%qc_b4mp(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1410,& 'frame/module_domain.f: Failed to allocate grid%qc_b4mp(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'qi_b4mp').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%qi_b4mp(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1419,& 'frame/module_domain.f: Failed to allocate grid%qi_b4mp(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%qi_b4mp=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 = 'qi_b4mp' grid%tail_statevars%DataName = 'QI_B4MP' grid%tail_statevars%Description = 'CLOUD ICE BEFORE MICROPHYSICS' grid%tail_statevars%Units = 'kg kg-1' 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 = .FALSE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_3d => grid%qi_b4mp 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 = 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%qi_b4mp(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1469,& 'frame/module_domain.f: Failed to allocate grid%qi_b4mp(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'qs_b4mp').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%qs_b4mp(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1478,& 'frame/module_domain.f: Failed to allocate grid%qs_b4mp(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%qs_b4mp=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 = 'qs_b4mp' grid%tail_statevars%DataName = 'QS_B4MP' grid%tail_statevars%Description = 'SNOW BEFORE MICROPHYSICS' grid%tail_statevars%Units = 'kg kg-1' 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 = .FALSE. grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%rfield_3d => grid%qs_b4mp 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 = 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%qs_b4mp(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1528,& 'frame/module_domain.f: Failed to allocate grid%qs_b4mp(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'ccn1').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%ccn1(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1537,& 'frame/module_domain.f: Failed to allocate grid%ccn1(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ccn1=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 = 'ccn1' grid%tail_statevars%DataName = 'CCN1' grid%tail_statevars%Description = 'CCN concentration at S=0.02%' grid%tail_statevars%Units = ' /cm3' 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%ccn1 grid%tail_statevars%streams(1) = 0 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%ccn1(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1587,& 'frame/module_domain.f: Failed to allocate grid%ccn1(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'ccn2').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%ccn2(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1596,& 'frame/module_domain.f: Failed to allocate grid%ccn2(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ccn2=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 = 'ccn2' grid%tail_statevars%DataName = 'CCN2' grid%tail_statevars%Description = 'CCN concentration at S=0.05%' grid%tail_statevars%Units = ' /cm3' 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%ccn2 grid%tail_statevars%streams(1) = 0 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%ccn2(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1646,& 'frame/module_domain.f: Failed to allocate grid%ccn2(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'ccn3').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%ccn3(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1655,& 'frame/module_domain.f: Failed to allocate grid%ccn3(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ccn3=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 = 'ccn3' grid%tail_statevars%DataName = 'CCN3' grid%tail_statevars%Description = 'CCN concentration at S=0.1%' grid%tail_statevars%Units = ' /cm3' 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%ccn3 grid%tail_statevars%streams(1) = 0 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%ccn3(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1705,& 'frame/module_domain.f: Failed to allocate grid%ccn3(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'ccn4').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%ccn4(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1714,& 'frame/module_domain.f: Failed to allocate grid%ccn4(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ccn4=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 = 'ccn4' grid%tail_statevars%DataName = 'CCN4' grid%tail_statevars%Description = 'CCN concentration at S=0.2%' grid%tail_statevars%Units = ' /cm3' 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%ccn4 grid%tail_statevars%streams(1) = 0 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%ccn4(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1764,& 'frame/module_domain.f: Failed to allocate grid%ccn4(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'ccn5').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%ccn5(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1773,& 'frame/module_domain.f: Failed to allocate grid%ccn5(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ccn5=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 = 'ccn5' grid%tail_statevars%DataName = 'CCN5' grid%tail_statevars%Description = 'CCN concentration at S=0.5%' grid%tail_statevars%Units = ' /cm3' 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%ccn5 grid%tail_statevars%streams(1) = 0 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%ccn5(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1823,& 'frame/module_domain.f: Failed to allocate grid%ccn5(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'ccn6').AND.(.NOT.grid%is_intermediate))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%ccn6(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1832,& 'frame/module_domain.f: Failed to allocate grid%ccn6(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%ccn6=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 = 'ccn6' grid%tail_statevars%DataName = 'CCN6' grid%tail_statevars%Description = 'CCN concentration at S=1.0%' grid%tail_statevars%Units = ' /cm3' 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%ccn6 grid%tail_statevars%streams(1) = 0 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%ccn6(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1882,& 'frame/module_domain.f: Failed to allocate grid%ccn6(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'qlsink'))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%qlsink(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1891,& 'frame/module_domain.f: Failed to allocate grid%qlsink(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%qlsink=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 = 'qlsink' grid%tail_statevars%DataName = 'QLSINK' grid%tail_statevars%Description = 'CLOUD WATER SINK' grid%tail_statevars%Units = '/S' 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%qlsink grid%tail_statevars%streams(1) = 0 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%qlsink(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1941,& 'frame/module_domain.f: Failed to allocate grid%qlsink(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'precr'))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%precr(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",1950,& 'frame/module_domain.f: Failed to allocate grid%precr(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%precr=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 = 'precr' grid%tail_statevars%DataName = 'PRECR' grid%tail_statevars%Description = 'RAIN PRECIPITATION RATE' grid%tail_statevars%Units = 'KG/M2/S' 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%precr grid%tail_statevars%streams(1) = 0 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%precr(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",2000,& 'frame/module_domain.f: Failed to allocate grid%precr(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'preci'))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%preci(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",2009,& 'frame/module_domain.f: Failed to allocate grid%preci(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%preci=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 = 'preci' grid%tail_statevars%DataName = 'PRECI' grid%tail_statevars%Description = 'ICE PRECIPITATION RATE' grid%tail_statevars%Units = 'KG/M2/S' 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%preci grid%tail_statevars%streams(1) = 0 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%preci(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",2059,& 'frame/module_domain.f: Failed to allocate grid%preci(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'precs'))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%precs(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",2068,& 'frame/module_domain.f: Failed to allocate grid%precs(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%precs=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 = 'precs' grid%tail_statevars%DataName = 'PRECS' grid%tail_statevars%Description = 'SNOW PRECIPITATION RATE' grid%tail_statevars%Units = 'KG/M2/S' 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%precs grid%tail_statevars%streams(1) = 0 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%precs(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",2118,& 'frame/module_domain.f: Failed to allocate grid%precs(1,1,1). ') endif ENDIF IF(okay_to_alloc.AND.in_use_for_config(id,'precg'))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((em32)-(sm32)+1))*(((em33)-(sm33)+1))) * 4 ALLOCATE(grid%precg(sm31:em31,sm32:em32,sm33:em33),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",2127,& 'frame/module_domain.f: Failed to allocate grid%precg(sm31:em31,sm32:em32,sm33:em33). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%precg=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 = 'precg' grid%tail_statevars%DataName = 'PRECG' grid%tail_statevars%Description = 'GRAUPEL PRECIPITATION RATE' grid%tail_statevars%Units = 'KG/M2/S' 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%precg grid%tail_statevars%streams(1) = 0 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%precg(1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",2177,& 'frame/module_domain.f: Failed to allocate grid%precg(1,1,1). ') endif ENDIF 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 = 'ktauc' grid%tail_statevars%DataName = 'KTAUC' grid%tail_statevars%Description = 'Number of chemistry time steps' grid%tail_statevars%Units = '' grid%tail_statevars%Type = 'i' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%Ndim = 0 grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%ifield_0d => grid%ktauc grid%tail_statevars%streams(1) = 0 grid%tail_statevars%streams(2) = 2097152 ENDIF IF ( setinitval .EQ. 3 ) grid%ktauc=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 = 'last_chem_time_year' grid%tail_statevars%DataName = 'LAST_CHEM_TIME_YEAR' grid%tail_statevars%Description = 'last call to chem mechanism through restarts' grid%tail_statevars%Units = '4-digit year' grid%tail_statevars%Type = 'i' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%Ndim = 0 grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%ifield_0d => grid%last_chem_time_year grid%tail_statevars%streams(1) = 0 grid%tail_statevars%streams(2) = 2097152 ENDIF IF ( setinitval .EQ. 3 ) grid%last_chem_time_year=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 = 'last_chem_time_month' grid%tail_statevars%DataName = 'LAST_CHEM_TIME_MONTH' grid%tail_statevars%Description = 'last call to chem mechanism through restarts' grid%tail_statevars%Units = '2-digit month' grid%tail_statevars%Type = 'i' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%Ndim = 0 grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%ifield_0d => grid%last_chem_time_month grid%tail_statevars%streams(1) = 0 grid%tail_statevars%streams(2) = 2097152 ENDIF IF ( setinitval .EQ. 3 ) grid%last_chem_time_month=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 = 'last_chem_time_day' grid%tail_statevars%DataName = 'LAST_CHEM_TIME_DAY' grid%tail_statevars%Description = 'last call to chem mechanism through restarts' grid%tail_statevars%Units = '2-digit day' grid%tail_statevars%Type = 'i' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%Ndim = 0 grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%ifield_0d => grid%last_chem_time_day grid%tail_statevars%streams(1) = 0 grid%tail_statevars%streams(2) = 2097152 ENDIF IF ( setinitval .EQ. 3 ) grid%last_chem_time_day=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 = 'last_chem_time_hour' grid%tail_statevars%DataName = 'LAST_CHEM_TIME_HOUR' grid%tail_statevars%Description = 'last call to chem mechanism through restarts' grid%tail_statevars%Units = '2-digit hour' grid%tail_statevars%Type = 'i' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%Ndim = 0 grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%ifield_0d => grid%last_chem_time_hour grid%tail_statevars%streams(1) = 0 grid%tail_statevars%streams(2) = 2097152 ENDIF IF ( setinitval .EQ. 3 ) grid%last_chem_time_hour=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 = 'last_chem_time_minute' grid%tail_statevars%DataName = 'LAST_CHEM_TIME_MINUTE' grid%tail_statevars%Description = 'last call to chem mechanism through restarts' grid%tail_statevars%Units = '2-digit minute' grid%tail_statevars%Type = 'i' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%Ndim = 0 grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%ifield_0d => grid%last_chem_time_minute grid%tail_statevars%streams(1) = 0 grid%tail_statevars%streams(2) = 2097152 ENDIF IF ( setinitval .EQ. 3 ) grid%last_chem_time_minute=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 = 'last_chem_time_second' grid%tail_statevars%DataName = 'LAST_CHEM_TIME_SECOND' grid%tail_statevars%Description = 'last call to chem mechanism through restarts' grid%tail_statevars%Units = '2-digit second' grid%tail_statevars%Type = 'i' grid%tail_statevars%Ntl = 0 grid%tail_statevars%Restart = .TRUE. grid%tail_statevars%Ndim = 0 grid%tail_statevars%scalar_array = .FALSE. grid%tail_statevars%ifield_0d => grid%last_chem_time_second grid%tail_statevars%streams(1) = 0 grid%tail_statevars%streams(2) = 2097152 ENDIF IF ( setinitval .EQ. 3 ) grid%last_chem_time_second=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 = 'emissframes' grid%tail_statevars%DataName = 'EMISSFRAMES' 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%emissframes grid%tail_statevars%streams(1) = 0 grid%tail_statevars%streams(2) = 0 ENDIF IF ( setinitval .EQ. 3 ) grid%emissframes=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 = 'fireemissframes' grid%tail_statevars%DataName = 'FIREEMISSFRAMES' 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%fireemissframes grid%tail_statevars%streams(1) = 0 grid%tail_statevars%streams(2) = 0 ENDIF IF ( setinitval .EQ. 3 ) grid%fireemissframes=0 IF(okay_to_alloc.AND.in_use_for_config(id,'emis_ant'))THEN num_bytes_allocated = num_bytes_allocated + & ((((em31)-(sm31)+1))*(((model_config_rec%kemit)-(1)+1))*(((em33)-(sm33)+1)*num_emis_ant)) * 4 ALLOCATE(grid%emis_ant(sm31:em31,1:model_config_rec%kemit,sm33:em33,num_emis_ant),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",2357,& 'frame/module_domain.f: Failed to allocate grid%emis_ant(sm31:em31,1:model_config_rec%kemit,sm33:em33,num_emis_ant). ') endif IF ( setinitval .EQ. 1 .OR. setinitval .EQ. 3 ) grid%emis_ant=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 = 'emis_ant' grid%tail_statevars%DataName = 'EMIS_ANT' grid%tail_statevars%Description = 'Anthropogenic Emissions' 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%emis_ant grid%tail_statevars%num_table => emis_ant_num_table grid%tail_statevars%index_table => emis_ant_index_table grid%tail_statevars%boundary_table => emis_ant_boundary_table grid%tail_statevars%dname_table => emis_ant_dname_table grid%tail_statevars%desc_table => emis_ant_desc_table grid%tail_statevars%units_table => emis_ant_units_table grid%tail_statevars%streams_table => emis_ant_streams_table grid%tail_statevars%streams(1) = 1073741824 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%kemit 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%kemit 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%kemit 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 = 'emissions_zdim' grid%tail_statevars%dimname3 = 'south_north' ENDIF ELSE ALLOCATE(grid%emis_ant(1,1,1,1),STAT=ierr) if (ierr.ne.0) then CALL wrf_error_fatal3("",2414,& 'frame/module_domain.f: Failed to allocate grid%emis_ant(1,1,1,1). ') endif ENDIF END SUBROUTINE alloc_space_field_core_5 END MODULE module_alloc_space_5