!-------------------------------------- LICENCE BEGIN ------------------------------------ !Environment Canada - Atmospheric Science and Technology License/Disclaimer, ! version 3; Last Modified: May 7, 2008. !This is free but copyrighted software; you can use/redistribute/modify it under the terms !of the Environment Canada - Atmospheric Science and Technology License/Disclaimer !version 3 or (at your option) any later version that should be found at: !http://collaboration.cmc.ec.gc.ca/science/rpn.comm/license.html ! !This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; !without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. !See the above mentioned License/Disclaimer for more details. !You should have received a copy of the License/Disclaimer along with this software; !if not, you can write to: EC-RPN COMM Group, 2121 TransCanada, suite 500, Dorval (Quebec), !CANADA, H9P 1J3; or send e-mail to service.rpn@ec.gc.ca !-------------------------------------- LICENCE END -------------------------------------- ***s/r v4d_zeronest -- Zero nesting data * #include "model_macros_f.h"![]()
subroutine v4d_zeronest 2 * implicit none * *author * Monique Tanguay * *revision * v3_03 - Tanguay M. - initial MPI version * v3_30 - Tanguay M. - Validation for LAM version * *object * see id section * *arguments * *implicits #include "glb_ld.cdk"
#include "tr3d.cdk"
#include "nest.cdk"
#include "schm.cdk"
* *modules integer vmmlod,vmmget,vmmuld external vmmlod,vmmget,vmmuld * real trf pointer (patrf, trf(LDIST_SHAPE,*)) integer i,j,k,err,pnlkey1(26),nvar,key2(Tr3d_ntr),key2_,n real*8, parameter :: ZERO_8 = 0.0 * --------------------------------------------------------------- * pnlkey1(1) = VMM_KEY(nest_u) pnlkey1(2) = VMM_KEY(nest_v) pnlkey1(3) = VMM_KEY(nest_t) pnlkey1(4) = VMM_KEY(nest_psd) pnlkey1(5) = VMM_KEY(nest_pip) pnlkey1(6) = VMM_KEY(nest_fip) pnlkey1(7) = VMM_KEY(nest_td) pnlkey1(8) = VMM_KEY(nest_fi) pnlkey1(9) = VMM_KEY(nest_q) pnlkey1(10)= VMM_KEY(nest_s) pnlkey1(11)= VMM_KEY(nest_tp) nvar = 11 * if (.not. Schm_hydro_L) then pnlkey1(12) = VMM_KEY(nest_w) pnlkey1(13) = VMM_KEY(nest_mu) nvar = 13 endif * err = vmmlod(pnlkey1,nvar) err = VMM_GET_VAR(nest_u) err = VMM_GET_VAR(nest_v) err = VMM_GET_VAR(nest_t) err = VMM_GET_VAR(nest_psd) err = VMM_GET_VAR(nest_pip) err = VMM_GET_VAR(nest_fip) err = VMM_GET_VAR(nest_td) err = VMM_GET_VAR(nest_fi) err = VMM_GET_VAR(nest_q) err = VMM_GET_VAR(nest_s) err = VMM_GET_VAR(nest_tp) if (.not. Schm_hydro_L) then err = VMM_GET_VAR(nest_mu) err = VMM_GET_VAR(nest_w) endif * do k= 1, G_nk do j= l_miny, l_maxy do i= l_minx, l_maxx nest_u (i,j,k) = ZERO_8 nest_v (i,j,k) = ZERO_8 nest_t (i,j,k) = ZERO_8 nest_psd(i,j,k) = ZERO_8 nest_pip(i,j,k) = ZERO_8 nest_fip(i,j,k) = ZERO_8 nest_td (i,j,k) = ZERO_8 nest_fi (i,j,k) = ZERO_8 nest_q (i,j,k) = ZERO_8 nest_tp (i,j,k) = ZERO_8 end do end do end do do j= l_miny, l_maxy do i= l_minx, l_maxx nest_s(i,j) = ZERO_8 end do end do * if (.not. Schm_hydro_L) then do k= 1, G_nk do j= l_miny, l_maxy do i= l_minx, l_maxx nest_w (i,j,k) = ZERO_8 nest_mu (i,j,k) = ZERO_8 end do end do end do endif * err = vmmuld(pnlkey1,nvar) * key2_ = VMM_KEY (nest_tr) do n=1,Tr3d_ntr key2(n) = key2_ + n end do if (Tr3d_ntr.gt.0) then err = vmmlod(key2,Tr3d_ntr) do n=1,Tr3d_ntr err = vmmget(key2(n),patrf,trf) do k= 1, G_nk do j= l_miny, l_maxy do i= l_minx, l_maxx trf (i,j,k) = ZERO_8 end do end do end do end do err = vmmuld(key2,Tr3d_ntr) endif * * --------------------------------------------------------------- return end