@@ -55,15 +55,15 @@ module fv_regrid_c2c
5555 module procedure read_topo_file_r4
5656 module procedure read_topo_file_r8
5757 end interface
58-
58+
5959contains
60-
60+
6161 subroutine read_topo_file_r4 (fname ,output ,grid ,rc )
6262 character (len=* ), intent (in ) :: fname
6363 type (ESMF_Grid), intent (in ) :: grid
6464 real (REAL32), intent (inout ) :: output(:,:)
6565 integer , intent (out ), optional :: rc
66-
66+
6767 integer :: status,dims(3 ),funit
6868 integer :: rank
6969 type (ESMF_VM) :: vm
@@ -89,7 +89,7 @@ subroutine read_topo_file_r8(fname,output,grid,rc)
8989 type (ESMF_Grid), intent (in ) :: grid
9090 real (REAL64), intent (inout ) :: output(:,:)
9191 integer , intent (out ), optional :: rc
92-
92+
9393 integer :: status,dims(3 ),funit
9494 real , allocatable :: input(:,:)
9595 integer :: rank
@@ -104,7 +104,7 @@ subroutine read_topo_file_r8(fname,output,grid,rc)
104104 open (newunit= funit,file= trim (fname),form= ' unformatted' ,iostat= status)
105105 _VERIFY(status)
106106 read (funit)input
107- input_r8 = input
107+ input_r8 = input
108108 else
109109 allocate (input(0 ,0 ),input_r8 (0 ,0 ))
110110 end if
@@ -189,7 +189,7 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
189189 character (len= :), pointer :: var_name
190190 type (StringVariableMap), pointer :: variables
191191 type (Variable), pointer :: myVariable
192- type (StringVector) :: all_moist_vars
192+ type (StringVector) :: all_moist_vars
193193 type (StringVector), pointer :: var_dimensions
194194 type (StringVectorIterator) :: siter
195195 type (StringVector) :: moist_variables
@@ -211,7 +211,7 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
211211 isd_i = Atm_i(1 )% bd% isd
212212 ied_i = Atm_i(1 )% bd% ied
213213 jsd_i = Atm_i(1 )% bd% jsd
214- jed_i = Atm_i(1 )% bd% jed
214+ jed_i = Atm_i(1 )% bd% jed
215215 is_i = Atm_i(1 )% bd% is
216216 ie_i = Atm_i(1 )% bd% ie
217217 js_i = Atm_i(1 )% bd% js
@@ -228,9 +228,9 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
228228 jsd = Atm(1 )% bd% jsd
229229 jed = Atm(1 )% bd% jed
230230 is = Atm(1 )% bd% is
231- ie = Atm(1 )% bd% ie
232- js = Atm(1 )% bd% js
233- je = Atm(1 )% bd% je
231+ ie = Atm(1 )% bd% ie
232+ js = Atm(1 )% bd% js
233+ je = Atm(1 )% bd% je
234234 ng = Atm(1 )% ng
235235
236236! Zero out all initial tracer fields:
@@ -265,7 +265,7 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
265265
266266 if ( is_master() ) then
267267 print *
268- write (* ,* ) ' Input Vertical Grid'
268+ write (* ,* ) ' Input Vertical Grid'
269269 write (* ,* ) ' --------------------'
270270 write (6 ,100 )
271271100 format (2x ,' k ' ,' A(k) ' ,2x ,' B(k) ' ,2x ,' Pref ' ,2x ,' DelP' ,/ , &
@@ -283,7 +283,7 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
283283
284284! Read U
285285 allocate ( u0(isd_i:ied_i,jsd_i:jed_i+1 ,km) )
286- u0(:,:,:) = 0.0
286+ u0(:,:,:) = 0.0
287287 do k= 1 ,km
288288 call MAPL_VarRead(formatter," U" ,u0(is_i:ie_i,js_i:je_i,k),arrdes= Arrdes_i,lev= k)
289289 enddo
@@ -304,7 +304,7 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
304304 sbufferx= sbuffer, nbufferx= nbuffer, &
305305 gridtype= DGRID_NE )
306306 do k= 1 ,km
307- do i= is_i,ie_i
307+ do i= is_i,ie_i
308308 u0(i,je_i+1 ,k) = nbuffer(i,k)
309309 enddo
310310 do j= js_i,je_i
@@ -337,9 +337,9 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
337337 sbufferx= sbuffer, nbufferx= nbuffer, &
338338 gridtype= DGRID_NE )
339339 do k= 1 ,km
340- do i= is,ie
340+ do i= is,ie
341341 ud(i,je+1 ,k) = nbuffer(i,k)
342- enddo
342+ enddo
343343 do j= js,je
344344 vd(ie+1 ,j,k) = ebuffer(j,k)
345345 enddo
@@ -388,7 +388,7 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
388388 enddo
389389 call prt_maxmin(' PT_geos' , t0, is_i, ie_i, js_i, je_i, 0 , km, 1.0_FVPRC )
390390 call print_memuse_stats(' get_geos_cubed_ic: read T' )
391- ! Read PE
391+ ! Read PE
392392 allocate ( pe0(is_i:ie_i,js_i:je_i,km+1 ) )
393393 do k= 1 ,km+1
394394 call MAPL_VarRead(formatter," PE" ,pe0(is_i:ie_i,js_i:je_i,k),arrdes= Arrdes_i,lev= k)
@@ -433,7 +433,7 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
433433 call read_topo_file(fname1,gz0(is_i:ie_i,js_i:je_i),grid_i)
434434 gz0 = gz0* grav
435435
436- ! Horiz Interp for surface pressure
436+ ! Horiz Interp for surface pressure
437437 allocate ( psc(is:ie,js:je) )
438438 call prt_maxmin(' PS_geos' , ps0, is_i, ie_i, js_i, je_i, 0 , 1 , 1.0_FVPRC )
439439 call regridder% regrid(ps0(is_i:ie_i,js_i:je_i),psc(is:ie,js:je),rc= status)
@@ -477,7 +477,7 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
477477 if (ndims == 3 ) call moist_variables% push_back(trim (var_name))
478478 call siter% next()
479479 enddo
480- if (moist_variables% size () /= atm(1 )% ncnst) call mpp_error(FATAL,' Wrong number of variables in moist file' )
480+ if (moist_variables% size () /= atm(1 )% ncnst) call mpp_error(FATAL,' Wrong number of variables in moist file' )
481481
482482 lvar_cnt= 0
483483 do ivar= 1 ,Atm(1 )% ncnst
@@ -545,15 +545,15 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
545545 do i= 1 ,size (extra_rst)
546546 do j= 1 ,size (extra_rst(i)% vars)
547547 if (extra_rst(i)% vars(j)% nLev/= 1 ) then
548- if (extra_rst(i)% vars(j)% nLev == npz) then
548+ if (extra_rst(i)% vars(j)% nLev == npz) then
549549 tracer_bundles(i)% vars(j)% nLev= km
550550 call tracer_bundles(i)% vars(j)% alloc_var(is,ie,js,je,km)
551551 else if (extra_rst(i)% vars(j)% nLev == npz+1 ) then
552552 tracer_bundles(i)% vars(j)% nLev= km+1
553553 call tracer_bundles(i)% vars(j)% alloc_var(is,ie,js,je,km+1 )
554- end if
554+ end if
555555 else
556- call tracer_bundles(i)% vars(j)% alloc_Var(is,ie,js,je)
556+ call tracer_bundles(i)% vars(j)% alloc_Var(is,ie,js,je)
557557 end if
558558 enddo
559559 enddo
@@ -589,7 +589,7 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
589589 do n_ungrid= 1 ,tracer_bundles(ifile)% vars(ivar)% n_ungrid
590590 do k= 1 ,nlev
591591 call MAPL_VarRead(formatter,vname,qlev(is_i:ie_i,js_i:je_i),arrdes= Arrdes_i,lev= k,offset2= n_ungrid)
592- q0(is_i:ie_i,js_i:je_i,k) = qlev(is_i:ie_i,js_i:je_i)
592+ q0(is_i:ie_i,js_i:je_i,k) = qlev(is_i:ie_i,js_i:je_i)
593593 call regridder% regrid(qlev(is_i:ie_i,js_i:je_i),tracer_bundles(ifile)% vars(ivar)% ptr4 d(is:ie,js:je,k,n_ungrid),rc= status)
594594 enddo
595595 call prt_maxmin( trim (vname)// ' _geos_' // trim (tracer_bundles(ifile)% file_name), q0, is_i, ie_i, js_i, je_i, 0 , nlev, 1._FVPRC )
@@ -603,7 +603,7 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
603603
604604 enddo
605605 deallocate ( q0 )
606-
606+
607607 if (is_master()) print * , ' '
608608 if (is_master()) print * , ' Vertical Remapping: '
609609! Vert remap for scalars
@@ -649,12 +649,12 @@ subroutine get_geos_cubed_ic( Atm_i, Atm, grid_i, grid, Arrdes_i, extra_rst )
649649
650650! Range check the MOIST tracers
651651! Iterate over tracer names
652-
652+
653653 iter = moist_tracers% begin()
654654 do while (iter /= moist_tracers% end ())
655655 iptr = > iter% value()
656656 cptr = > iter% key()
657- if (.not. match(cptr)) then
657+ if (.not. match(cptr)) then
658658 do k= 1 ,npz
659659 do j= js,je
660660 do i= is,ie
@@ -730,7 +730,7 @@ subroutine remap_winds(is,ie, js, je, isd,ied, jsd,jed, km, npz, ak0, bk0, psc,
730730 enddo
731731 enddo
732732 enddo
733- call mpp_update_domains(pe0, Atm% domain)
733+ call mpp_update_domains(pe0, Atm% domain)
734734
735735 do k= 1 ,npz+1
736736 do j= js,je
@@ -753,17 +753,17 @@ subroutine remap_winds(is,ie, js, je, isd,ied, jsd,jed, km, npz, ak0, bk0, psc,
753753 enddo
754754 do k= 1 ,km
755755 do i= is,ie
756- dpe0(i,k) = pe0d(i,k+1 )- pe0d(i,k)
756+ dpe0(i,k) = pe0d(i,k+1 )- pe0d(i,k)
757757 enddo
758758 enddo
759759 do k= 1 ,npz+1
760760 do i= is,ie
761- pe1d(i,k) = 0.5 * (pe1(i,j-1 ,k)+ pe1(i,j,k))
761+ pe1d(i,k) = 0.5 * (pe1(i,j-1 ,k)+ pe1(i,j,k))
762762 enddo
763763 enddo
764764 do k= 1 ,npz
765765 do i= is,ie
766- dpe1(i,k) = pe1d(i,k+1 )- pe1d(i,k)
766+ dpe1(i,k) = pe1d(i,k+1 )- pe1d(i,k)
767767 enddo
768768 enddo
769769 call map_scalar( km, pe0d, ud(is:ie,j,1 :km), &
@@ -790,12 +790,12 @@ subroutine remap_winds(is,ie, js, je, isd,ied, jsd,jed, km, npz, ak0, bk0, psc,
790790 enddo
791791 do k= 1 ,npz+1
792792 do i= is,ie
793- pe1d(i,k) = 0.5 * (pe1(i-1 ,j,k)+ pe1(i,j,k))
793+ pe1d(i,k) = 0.5 * (pe1(i-1 ,j,k)+ pe1(i,j,k))
794794 enddo
795795 enddo
796796 do k= 1 ,npz
797797 do i= is,ie
798- dpe1(i,k) = pe1d(i,k+1 )- pe1d(i,k)
798+ dpe1(i,k) = pe1d(i,k+1 )- pe1d(i,k)
799799 enddo
800800 enddo
801801 call map_scalar( km, pe0d, vd(is:ie,j,1 :km), &
@@ -824,14 +824,14 @@ end subroutine remap_winds
824824subroutine xyz_to_dgrid (v3 , ud , vd , npx , npy , is , ie , js , je , isd , ied , jsd , jed , gridstruct )
825825
826826! Move A-Grid xyz winds to the D-grid cubed-sphere orientation
827-
827+
828828! !INPUT/OUTPUT PARAMETERS:
829829 integer , intent (in ) :: npx, npy, is, ie, js, je, isd, ied, jsd, jed
830830 real (REAL64) :: v3(3 , isd:ied ,jsd:jed )
831831 real (FVPRC), intent (inout ) :: ud(isd:ied,jsd:jed+1 ) ! U-Wind
832832 real (FVPRC), intent (inout ) :: vd(isd:ied+1 ,jsd:jed) ! V-Wind
833833 type (fv_grid_type), intent (IN ), target :: gridstruct
834- ! !Local Variables
834+ ! !Local Variables
835835 integer :: i,j, im2,jm2
836836
837837 real (REAL64) :: ue(is-1 :ie+1 ,js :je+1 ,3 ) ! 3D winds at edges
@@ -941,14 +941,14 @@ subroutine xyz_to_dgrid(v3, ud, vd, npx, npy, is, ie, js, je, isd, ied, jsd, jed
941941 do i= is,ie
942942 ud(i,j) = ue(i,j,1 )* gridstruct% es(1 ,i,j,1 ) + &
943943 ue(i,j,2 )* gridstruct% es(2 ,i,j,1 ) + &
944- ue(i,j,3 )* gridstruct% es(3 ,i,j,1 )
944+ ue(i,j,3 )* gridstruct% es(3 ,i,j,1 )
945945 enddo
946946 enddo
947947 do j= js,je
948948 do i= is,ie+1
949949 vd(i,j) = ve(i,j,1 )* gridstruct% ew(1 ,i,j,2 ) + &
950950 ve(i,j,2 )* gridstruct% ew(2 ,i,j,2 ) + &
951- ve(i,j,3 )* gridstruct% ew(3 ,i,j,2 )
951+ ve(i,j,3 )* gridstruct% ew(3 ,i,j,2 )
952952 enddo
953953 enddo
954954
@@ -961,11 +961,11 @@ subroutine d2a2d(ui, vi, uo, vo, Atm_i, Atm, regridder)
961961
962962 class(AbstractRegridder), pointer :: regridder
963963
964- real (REAL32 ), dimension (Atm_i% bd% isd:Atm_i% bd% ied ,Atm_i% bd% jsd:Atm_i% bd% jed+1 ), intent (in ) :: ui
965- real (REAL32 ), dimension (Atm_i% bd% isd:Atm_i% bd% ied+1 ,Atm_i% bd% jsd:Atm_i% bd% jed ), intent (in ) :: vi
964+ real (FVPRC ), dimension (Atm_i% bd% isd:Atm_i% bd% ied ,Atm_i% bd% jsd:Atm_i% bd% jed+1 ), intent (in ) :: ui
965+ real (FVPRC ), dimension (Atm_i% bd% isd:Atm_i% bd% ied+1 ,Atm_i% bd% jsd:Atm_i% bd% jed ), intent (in ) :: vi
966966
967- real (REAL32 ), dimension (Atm% bd% isd:Atm% bd% ied ,Atm% bd% jsd:Atm% bd% jed+1 ), intent (inout ) :: uo
968- real (REAL32 ), dimension (Atm% bd% isd:Atm% bd% ied+1 ,Atm% bd% jsd:Atm% bd% jed ), intent (inout ) :: vo
967+ real (FVPRC ), dimension (Atm% bd% isd:Atm% bd% ied ,Atm% bd% jsd:Atm% bd% jed+1 ), intent (inout ) :: uo
968+ real (FVPRC ), dimension (Atm% bd% isd:Atm% bd% ied+1 ,Atm% bd% jsd:Atm% bd% jed ), intent (inout ) :: vo
969969
970970 !- -----------------------------------------------------------------!
971971 ! local variables !
@@ -1034,7 +1034,7 @@ subroutine d2a2d(ui, vi, uo, vo, Atm_i, Atm, regridder)
10341034 tmp_i = va_xyz_i(n,:,:)
10351035 call regridder% regrid(tmp_i( is: ie, js: je), &
10361036 tmp_o(Atm% bd% is:Atm% bd% ie,Atm% bd% js:Atm% bd% je), rc= status)
1037- call mpp_update_domains(tmp_o, Atm% domain)
1037+ call mpp_update_domains(tmp_o, Atm% domain)
10381038 va_xyz_o(n,:,:) = tmp_o
10391039 enddo
10401040!- -----------------------------------------------------------!
@@ -1046,6 +1046,6 @@ subroutine d2a2d(ui, vi, uo, vo, Atm_i, Atm, regridder)
10461046 Atm% gridstruct)
10471047
10481048 end subroutine d2a2d
1049-
1049+
10501050 end module fv_regrid_c2c
10511051
0 commit comments