<p><b>laura@ucar.edu</b> 2013-03-08 15:10:40 -0700 (Fri, 08 Mar 2013)</p><p>move the allocation of array maskslab outside of the do while loop.<br>
</p><hr noshade><pre><font color="gray">Modified: branches/atmos_physics/src/core_init_nhyd_atmos/mpas_init_atm_surface.F
===================================================================
--- branches/atmos_physics/src/core_init_nhyd_atmos/mpas_init_atm_surface.F        2013-03-08 21:56:29 UTC (rev 2573)
+++ branches/atmos_physics/src/core_init_nhyd_atmos/mpas_init_atm_surface.F        2013-03-08 22:10:40 UTC (rev 2574)
@@ -117,11 +117,11 @@
     write(0,*) 'Processing file ',trim(config_sfc_prefix)//':'//timeString(1:13)
  endif
 
+ if(.not.allocated(maskslab)) allocate(maskslab(-2:field % nx+3, field % ny))
 !scan through all fields in the file, looking for the LANDSEA field:
  call read_next_met_field(field,istatus)
  do while (istatus == 0)
     if(index(field % field, 'LANDSEA') /= 0) then
-       allocate(maskslab(-2:field % nx+3, field % ny))
        maskslab(1:field % nx, 1:field % ny) = field % slab(1:field % nx, 1:field % ny)
        maskslab(0, 1:field % ny)  = field % slab(field % nx, 1:field % ny)
        maskslab(-1, 1:field % ny) = field % slab(field % nx-1, 1:field % ny)
@@ -202,9 +202,8 @@
 
 !close intermediate file:
  call read_met_close()
+ if(allocated(maskslab)) deallocate(maskslab)
 
- deallocate(maskslab)
-
 !freeze really cold oceans:
  where(fg%sst%array.lt.271.0_RKIND .and. mesh%landmask%array.eq.0) fg%xice%array = 1.0_RKIND
 

</font>
</pre>