include file: nest_interpdown_pack.inc 2 !STARTOFREGISTRYGENERATEDINCLUDE 'inc/nest_interpdown_pack.inc' ! ! WARNING This file is generated automatically by use_registry ! using the data base in the file named Registry. ! Do not edit. Your changes to this file will be lost. ! msize = (20 + ((num_moist - PARAM_FIRST_SCALAR + 1)) & + ((num_dfi_moist - PARAM_FIRST_SCALAR + 1)) & + ((num_chem - PARAM_FIRST_SCALAR + 1)) & + ((num_scalar - PARAM_FIRST_SCALAR + 1)) & + ((num_dfi_scalar - PARAM_FIRST_SCALAR + 1)) & + ((num_ozmixm - PARAM_FIRST_SCALAR + 1)) & + ((num_aerosolc - PARAM_FIRST_SCALAR + 1)) & + ((num_fdda3d - PARAM_FIRST_SCALAR + 1)) & + ((num_fdda2d - PARAM_FIRST_SCALAR + 1)) )* nlev + 147 CALL rsl_lite_to_child_info( local_communicator, msize*RWORDSIZE & ,cips,cipe,cjps,cjpe & ,iids,iide,ijds,ijde & ,nids,nide,njds,njde & ,pgr , sw & ,ntasks_x,ntasks_y & ,thisdomain_max_halo_width & ,icoord,jcoord & ,idim_cd,jdim_cd & ,pig,pjg,retval ) DO while ( retval .eq. 1 ) IF ( SIZE(grid%lu_index) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%lu_index(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%u_2) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,(ckde-1) xv(k)= grid%u_2(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%v_2) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,(ckde-1) xv(k)= grid%v_2(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%w_2) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,ckde xv(k)= grid%w_2(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg(((ckde)-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%ph_2) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,ckde xv(k)= grid%ph_2(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg(((ckde)-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%phb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,ckde xv(k)= grid%phb(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg(((ckde)-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%t_2) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,(ckde-1) xv(k)= grid%t_2(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%mu_2) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%mu_2(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%mub) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%mub(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%alb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,(ckde-1) xv(k)= grid%alb(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%pb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,(ckde-1) xv(k)= grid%pb(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%q2) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%q2(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%t2) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%t2(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%th2) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%th2(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%psfc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%psfc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%u10) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%u10(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%v10) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%v10(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF DO itrace = PARAM_FIRST_SCALAR, num_moist DO k = ckds,(ckde-1) xv(k)= moist(pig,k,pjg,itrace) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDDO DO itrace = PARAM_FIRST_SCALAR, num_dfi_moist DO k = ckds,(ckde-1) xv(k)= dfi_moist(pig,k,pjg,itrace) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDDO DO itrace = PARAM_FIRST_SCALAR, num_scalar DO k = ckds,(ckde-1) xv(k)= scalar(pig,k,pjg,itrace) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDDO DO itrace = PARAM_FIRST_SCALAR, num_dfi_scalar DO k = ckds,(ckde-1) xv(k)= dfi_scalar(pig,k,pjg,itrace) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDDO IF ( SIZE(grid%landmask) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%landmask(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%shdmax) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%shdmax(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%shdmin) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%shdmin(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tslb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = 1,config_flags%num_soil_layers xv(k)= grid%tslb(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg(((config_flags%num_soil_layers)-(1)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%smois) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = 1,config_flags%num_soil_layers xv(k)= grid%smois(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg(((config_flags%num_soil_layers)-(1)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%sh2o) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = 1,config_flags%num_soil_layers xv(k)= grid%sh2o(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg(((config_flags%num_soil_layers)-(1)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xice) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xice(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xicem) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xicem(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%smstav) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%smstav(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%sfcrunoff) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%sfcrunoff(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%udrunoff) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%udrunoff(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%ivgtyp) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%ivgtyp(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%isltyp) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%isltyp(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%vegfra) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%vegfra(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%acgrdflx) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%acgrdflx(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%acsnow) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%acsnow(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%acsnom) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%acsnom(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%snow) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%snow(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%snowh) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%snowh(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%rhosn) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%rhosn(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%canwat) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%canwat(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%sst) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%sst(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%sstsk) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%sstsk(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tr_urb2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%tr_urb2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tb_urb2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%tb_urb2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tg_urb2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%tg_urb2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tc_urb2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%tc_urb2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%qc_urb2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%qc_urb2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%uc_urb2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%uc_urb2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xxxr_urb2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xxxr_urb2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xxxb_urb2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xxxb_urb2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xxxg_urb2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xxxg_urb2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xxxc_urb2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xxxc_urb2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%trl_urb3d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = 1,config_flags%num_soil_layers xv(k)= grid%trl_urb3d(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg(((config_flags%num_soil_layers)-(1)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tbl_urb3d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = 1,config_flags%num_soil_layers xv(k)= grid%tbl_urb3d(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg(((config_flags%num_soil_layers)-(1)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tgl_urb3d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = 1,config_flags%num_soil_layers xv(k)= grid%tgl_urb3d(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg(((config_flags%num_soil_layers)-(1)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%frc_urb2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%frc_urb2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%utype_urb2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%utype_urb2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%var2d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%var2d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%oc12d) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%oc12d(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%oa1) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%oa1(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%oa2) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%oa2(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%oa3) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%oa3(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%oa4) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%oa4(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%ol1) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%ol1(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%ol2) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%ol2(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%ol3) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%ol3(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%ol4) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%ol4(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%f_ice_phy) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,(ckde-1) xv(k)= grid%f_ice_phy(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%f_rain_phy) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,(ckde-1) xv(k)= grid%f_rain_phy(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%f_rimef_phy) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,(ckde-1) xv(k)= grid%f_rimef_phy(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%h_diabatic) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,(ckde-1) xv(k)= grid%h_diabatic(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%msft) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%msft(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%msfu) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%msfu(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%msfv) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%msfv(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%msftx) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%msftx(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%msfty) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%msfty(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%msfux) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%msfux(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%msfuy) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%msfuy(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%msfvx) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%msfvx(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%msfvx_inv) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%msfvx_inv(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%msfvy) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%msfvy(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%f) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%f(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%e) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%e(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%sina) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%sina(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%cosa) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%cosa(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%ht) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%ht(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%ht_shad) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%ht_shad(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tsk) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%tsk(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%rainc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%rainc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%rainnc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%rainnc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_rainc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_rainc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_rainnc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_rainnc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%snownc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%snownc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%graupelnc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%graupelnc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%rthraten) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = ckds,(ckde-1) xv(k)= grid%rthraten(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg((((ckde-1))-(ckds)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%swdown) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%swdown(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%gsw) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%gsw(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%glw) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%glw(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%acswupt) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%acswupt(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%acswuptc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%acswuptc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%acswdnt) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%acswdnt(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%acswdntc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%acswdntc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%acswupb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%acswupb(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%acswupbc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%acswupbc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%acswdnb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%acswdnb(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%acswdnbc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%acswdnbc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%aclwupt) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%aclwupt(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%aclwuptc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%aclwuptc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%aclwdnt) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%aclwdnt(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%aclwdntc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%aclwdntc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%aclwupb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%aclwupb(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%aclwupbc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%aclwupbc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%aclwdnb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%aclwdnb(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%aclwdnbc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%aclwdnbc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_acswupt) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_acswupt(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_acswuptc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_acswuptc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_acswdnt) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_acswdnt(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_acswdntc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_acswdntc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_acswupb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_acswupb(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_acswupbc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_acswupbc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_acswdnb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_acswdnb(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_acswdnbc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_acswdnbc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_aclwupt) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_aclwupt(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_aclwuptc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_aclwuptc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_aclwdnt) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_aclwdnt(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_aclwdntc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_aclwdntc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_aclwupb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_aclwupb(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_aclwupbc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_aclwupbc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_aclwdnb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_aclwdnb(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%i_aclwdnbc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%i_aclwdnbc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%swupt) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%swupt(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%swuptc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%swuptc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%swdnt) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%swdnt(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%swdntc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%swdntc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%swupb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%swupb(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%swupbc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%swupbc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%swdnb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%swdnb(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%swdnbc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%swdnbc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%lwupt) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%lwupt(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%lwuptc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%lwuptc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%lwdnt) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%lwdnt(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%lwdntc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%lwdntc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%lwupb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%lwupb(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%lwupbc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%lwupbc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%lwdnb) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%lwdnb(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%lwdnbc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%lwdnbc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xlat) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xlat(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xlong) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xlong(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xlat_u) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xlat_u(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xlong_u) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xlong_u(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xlat_v) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xlat_v(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xlong_v) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xlong_v(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%clat) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%clat(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%clong) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%clong(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tmn) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%tmn(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tyr) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%tyr(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tyra) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%tyra(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tdly) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%tdly(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tlag) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c DO k = 1,config_flags%lagday xv(k)= grid%tlag(pig,k,pjg) ENDDO CALL rsl_lite_to_child_msg(((config_flags%lagday)-(1)+1)*RWORDSIZE,xv) ENDIF IF ( SIZE(grid%xland) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%xland(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%achfx) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%achfx(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%aclhf) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%aclhf(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%snowc) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%snowc(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%tml) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%tml(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%t0ml) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%t0ml(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%hml) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%hml(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%h0ml) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%h0ml(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%huml) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%huml(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF IF ( SIZE(grid%hvml) .GT. 1 ) THEN ! okay for intermediate_grid too. see comment in gen_comms.c xv(1)=grid%hvml(pig,pjg) CALL rsl_lite_to_child_msg(RWORDSIZE,xv) ENDIF CALL rsl_lite_to_child_info( local_communicator, msize*RWORDSIZE & ,cips,cipe,cjps,cjpe & ,iids,iide,ijds,ijde & ,nids,nide,njds,njde & ,pgr , sw & ,ntasks_x,ntasks_y & ,thisdomain_max_halo_width & ,icoord,jcoord & ,idim_cd,jdim_cd & ,pig,pjg,retval ) ENDDO !ENDOFREGISTRYGENERATEDINCLUDE