1929
1930
1931
1932
1933
1934
1935
1936
1940
1941#ifdef SUBOBJECT_DEALLOCATION
1942
1944#endif
1945
1946
1947
1948 integer, intent(in) :: ng
1949
1950
1951
1952 character (len=*), parameter :: MyFile = &
1953 & __FILE__//", deallocate_boundary"
1954
1955#ifdef SUBOBJECT_DEALLOCATION
1956
1957
1958
1959
1960
1961
1962
1963
1964 IF (.not.
destroy(ng, lbc_apply(ng)%west, myfile, &
1965 & __line__, 'LBC_apply(ng)%west')) RETURN
1966
1967 IF (.not.
destroy(ng, lbc_apply(ng)%east, myfile, &
1968 & __line__, 'LBC_apply(ng)%east')) RETURN
1969
1970 IF (.not.
destroy(ng, lbc_apply(ng)%south, myfile, &
1971 & __line__, 'LBC_apply(ng)%south')) RETURN
1972
1973 IF (.not.
destroy(ng, lbc_apply(ng)%north, myfile, &
1974 & __line__, 'LBC_apply(ng)%north')) RETURN
1975
1976
1977
1978# if defined ADJOINT || defined TANGENT || defined TL_IOMS
1981# else
1983# endif
1984 IF (.not.
destroy(ng, boundary(ng)%zeta_west, myfile, &
1985 & __line__, 'BOUNDARY(ng)%zeta_west')) RETURN
1986
1987# if defined CELERITY_READ || defined CELERITY_WRITE
1988 IF (.not.
destroy(ng, boundary(ng)%zeta_west_C2, myfile, &
1989 & __line__, 'BOUNDARY(ng)%zeta_west_C2')) RETURN
1990
1991 IF (.not.
destroy(ng, boundary(ng)%zeta_west_Ce, myfile, &
1992 & __line__, 'BOUNDARY(ng)%zeta_west_Ce')) RETURN
1993
1994 IF (.not.
destroy(ng, boundary(ng)%zeta_west_Cx, myfile, &
1995 & __line__, 'BOUNDARY(ng)%zeta_west_Cx')) RETURN
1996# endif
1997
1998# ifndef ANA_FSOBC
1999 IF (.not.
destroy(ng, boundary(ng)%zetaG_west, myfile, &
2000 & __line__, 'BOUNDARY(ng)%zetaG_west')) RETURN
2001# endif
2002 END IF
2003
2004# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2007# else
2009# endif
2010 IF (.not.
destroy(ng, boundary(ng)%zeta_east, myfile, &
2011 & __line__, 'BOUNDARY(ng)%zeta_east')) RETURN
2012
2013# if defined CELERITY_READ || defined CELERITY_WRITE
2014 IF (.not.
destroy(ng, boundary(ng)%zeta_east_C2, myfile, &
2015 & __line__, 'BOUNDARY(ng)%zeta_east_C2')) RETURN
2016
2017 IF (.not.
destroy(ng, boundary(ng)%zeta_east_Ce, myfile, &
2018 & __line__, 'BOUNDARY(ng)%zeta_east_Ce')) RETURN
2019
2020 IF (.not.
destroy(ng, boundary(ng)%zeta_east_Cx, myfile, &
2021 & __line__, 'BOUNDARY(ng)%zeta_east_Cx')) RETURN
2022# endif
2023
2024# ifndef ANA_FSOBC
2025 IF (.not.
destroy(ng, boundary(ng)%zetaG_east, myfile, &
2026 & __line__, 'BOUNDARY(ng)%zetaG_east')) RETURN
2027# endif
2028 END IF
2029
2030# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2033# else
2035# endif
2036 IF (.not.
destroy(ng, boundary(ng)%zeta_south, myfile, &
2037 & __line__, 'BOUNDARY(ng)%zeta_south')) RETURN
2038
2039# if defined CELERITY_READ || defined CELERITY_WRITE
2040 IF (.not.
destroy(ng, boundary(ng)%zeta_south_C2, myfile, &
2041 & __line__, 'BOUNDARY(ng)%zeta_south_C2')) RETURN
2042
2043 IF (.not.
destroy(ng, boundary(ng)%zeta_south_Ce, myfile, &
2044 & __line__, 'BOUNDARY(ng)%zeta_south_Ce')) RETURN
2045
2046 IF (.not.
destroy(ng, boundary(ng)%zeta_south_Cx, myfile, &
2047 & __line__, 'BOUNDARY(ng)%zeta_south_Cx')) RETURN
2048# endif
2049
2050# ifndef ANA_FSOBC
2051 IF (.not.
destroy(ng, boundary(ng)%zetaG_south, myfile, &
2052 & __line__, 'BOUNDARY(ng)%zetaG_south')) RETURN
2053# endif
2054 END IF
2055
2056# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2059# else
2061# endif
2062 IF (.not.
destroy(ng, boundary(ng)%zeta_north, myfile, &
2063 & __line__, 'BOUNDARY(ng)%zeta_north')) RETURN
2064
2065# if defined CELERITY_READ || defined CELERITY_WRITE
2066 IF (.not.
destroy(ng, boundary(ng)%zeta_north_C2, myfile, &
2067 & __line__, 'BOUNDARY(ng)%zeta_north_C2')) RETURN
2068
2069 IF (.not.
destroy(ng, boundary(ng)%zeta_north_Ce, myfile, &
2070 & __line__, 'BOUNDARY(ng)%zeta_north_Ce')) RETURN
2071
2072 IF (.not.
destroy(ng, boundary(ng)%zeta_north_Cx, myfile, &
2073 & __line__, 'BOUNDARY(ng)%zeta_north_Cx')) RETURN
2074# endif
2075
2076# ifndef ANA_FSOBC
2077 IF (.not.
destroy(ng, boundary(ng)%zetaG_north, myfile, &
2078 & __line__, 'BOUNDARY(ng)%zetaG_north')) RETURN
2079# endif
2080 END IF
2081
2082# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2085# else
2087# endif
2088 IF (.not.
destroy(ng, boundary(ng)%ubar_west, myfile, &
2089 & __line__, 'BOUNDARY(ng)%ubar_west')) RETURN
2090
2091# if defined CELERITY_READ || defined CELERITY_WRITE
2092 IF (.not.
destroy(ng, boundary(ng)%ubar_west_C2, myfile, &
2093 & __line__, 'BOUNDARY(ng)%ubar_west_C2')) RETURN
2094
2095 IF (.not.
destroy(ng, boundary(ng)%ubar_west_Ce, myfile, &
2096 & __line__, 'BOUNDARY(ng)%ubar_west_Ce')) RETURN
2097
2098 IF (.not.
destroy(ng, boundary(ng)%ubar_west_Cx, myfile, &
2099 & __line__, 'BOUNDARY(ng)%ubar_west_Cx')) RETURN
2100# endif
2101
2102# ifndef ANA_M2OBC
2103 IF (.not.
destroy(ng, boundary(ng)%ubarG_west, myfile, &
2104 & __line__, 'BOUNDARY(ng)%ubarG_west')) RETURN
2105# endif
2106 END IF
2107# ifdef WEC
2108 IF (
lbc(
iwest,isu2sd,ng)%acquire)
THEN
2109 IF (.not.
destroy(ng, boundary(ng)%ubarstokes_west, myfile, &
2110 & __line__, 'BOUNDARY(ng)%ubarstokes_west')) RETURN
2111 END IF
2112# endif
2113
2114# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2117# else
2119# endif
2120 IF (.not.
destroy(ng, boundary(ng)%ubar_east, myfile, &
2121 & __line__, 'BOUNDARY(ng)%ubar_east')) RETURN
2122
2123# if defined CELERITY_READ || defined CELERITY_WRITE
2124 IF (.not.
destroy(ng, boundary(ng)%ubar_east_C2, myfile, &
2125 & __line__, 'BOUNDARY(ng)%ubar_east_C2')) RETURN
2126
2127 IF (.not.
destroy(ng, boundary(ng)%ubar_east_Ce, myfile, &
2128 & __line__, 'BOUNDARY(ng)%ubar_east_Ce')) RETURN
2129
2130 IF (.not.
destroy(ng, boundary(ng)%ubar_east_Cx, myfile, &
2131 & __line__, 'BOUNDARY(ng)%ubar_east_Cx')) RETURN
2132# endif
2133
2134# ifndef ANA_M2OBC
2135 IF (.not.
destroy(ng, boundary(ng)%ubarG_east, myfile, &
2136 & __line__, 'BOUNDARY(ng)%ubarG_east')) RETURN
2137# endif
2138 END IF
2139# ifdef WEC
2140 IF (
lbc(
ieast,isu2sd,ng)%acquire)
THEN
2141 IF (.not.
destroy(ng, boundary(ng)%ubarstokes_east, myfile, &
2142 & __line__, 'BOUNDARY(ng)%ubarstokes_east')) RETURN
2143 END IF
2144# endif
2145
2146# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2149# else
2151# endif
2152 IF (.not.
destroy(ng, boundary(ng)%ubar_south, myfile, &
2153 & __line__, 'BOUNDARY(ng)%ubar_south')) RETURN
2154
2155# if defined CELERITY_READ || defined CELERITY_WRITE
2156 IF (.not.
destroy(ng, boundary(ng)%ubar_south_C2, myfile, &
2157 & __line__, 'BOUNDARY(ng)%ubar_south_C2')) RETURN
2158
2159 IF (.not.
destroy(ng, boundary(ng)%ubar_south_Ce, myfile, &
2160 & __line__, 'BOUNDARY(ng)%ubar_south_Ce')) RETURN
2161
2162 IF (.not.
destroy(ng, boundary(ng)%ubar_south_Cx, myfile, &
2163 & __line__, 'BOUNDARY(ng)%ubar_south_Cx')) RETURN
2164# endif
2165
2166# ifndef ANA_M2OBC
2167 IF (.not.
destroy(ng, boundary(ng)%ubarG_south, myfile, &
2168 & __line__, 'BOUNDARY(ng)%ubarG_south')) RETURN
2169# endif
2170 END IF
2171# ifdef WEC
2173 IF (.not.
destroy(ng, boundary(ng)%ubarstokes_south, myfile, &
2174 & __line__, 'BOUNDARY(ng)%ubarstokes_south')) RETURN
2175 END IF
2176# endif
2177
2178# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2181# else
2183# endif
2184 IF (.not.
destroy(ng, boundary(ng)%ubar_north, myfile, &
2185 & __line__, 'BOUNDARY(ng)%ubar_north')) RETURN
2186
2187# if defined CELERITY_READ || defined CELERITY_WRITE
2188 IF (.not.
destroy(ng, boundary(ng)%ubar_north_C2, myfile, &
2189 & __line__, 'BOUNDARY(ng)%ubar_north_C2')) RETURN
2190
2191 IF (.not.
destroy(ng, boundary(ng)%ubar_north_Ce, myfile, &
2192 & __line__, 'BOUNDARY(ng)%ubar_north_Ce')) RETURN
2193
2194 IF (.not.
destroy(ng, boundary(ng)%ubar_north_Cx, myfile, &
2195 & __line__, 'BOUNDARY(ng)%ubar_north_Cx')) RETURN
2196# endif
2197
2198# ifndef ANA_M2OBC
2199 IF (.not.
destroy(ng, boundary(ng)%ubarG_north, myfile, &
2200 & __line__, 'BOUNDARY(ng)%ubarG_north')) RETURN
2201# endif
2202 END IF
2203# ifdef WEC
2205 IF (.not.
destroy(ng, boundary(ng)%ubarstokes_north, myfile, &
2206 & __line__, 'BOUNDARY(ng)%ubarstokes_north')) RETURN
2207 END IF
2208# endif
2209
2210# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2213# else
2215# endif
2216 IF (.not.
destroy(ng, boundary(ng)%vbar_west, myfile, &
2217 & __line__, 'BOUNDARY(ng)%vbar_west')) RETURN
2218
2219# if defined CELERITY_READ || defined CELERITY_WRITE
2220 IF (.not.
destroy(ng, boundary(ng)%vbar_west_C2, myfile, &
2221 & __line__, 'BOUNDARY(ng)%vbar_west_C2')) RETURN
2222
2223 IF (.not.
destroy(ng, boundary(ng)%vbar_west_Ce, myfile, &
2224 & __line__, 'BOUNDARY(ng)%vbar_west_Ce')) RETURN
2225
2226 IF (.not.
destroy(ng, boundary(ng)%vbar_west_Cx, myfile, &
2227 & __line__, 'BOUNDARY(ng)%vbar_west_Cx')) RETURN
2228# endif
2229
2230# ifndef ANA_M2OBC
2231 IF (.not.
destroy(ng, boundary(ng)%vbarG_west, myfile, &
2232 & __line__, 'BOUNDARY(ng)%vbarG_west')) RETURN
2233# endif
2234 END IF
2235# ifdef WEC
2236 IF (
lbc(
iwest,isv2sd,ng)%acquire)
THEN
2237 IF (.not.
destroy(ng, boundary(ng)%vbarstokes_west, myfile, &
2238 & __line__, 'BOUNDARY(ng)%vbarstokes_west')) RETURN
2239 END IF
2240# endif
2241
2242# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2245# else
2247# endif
2248 IF (.not.
destroy(ng, boundary(ng)%vbar_east, myfile, &
2249 & __line__, 'BOUNDARY(ng)%vbar_east')) RETURN
2250
2251# if defined CELERITY_READ || defined CELERITY_WRITE
2252 IF (.not.
destroy(ng, boundary(ng)%vbar_east_C2, myfile, &
2253 & __line__, 'BOUNDARY(ng)%vbar_east_C2')) RETURN
2254
2255 IF (.not.
destroy(ng, boundary(ng)%vbar_east_Ce, myfile, &
2256 & __line__, 'BOUNDARY(ng)%vbar_east_Ce')) RETURN
2257
2258 IF (.not.
destroy(ng, boundary(ng)%vbar_east_Cx, myfile, &
2259 & __line__, 'BOUNDARY(ng)%vbar_east_Cx')) RETURN
2260# endif
2261
2262# ifndef ANA_M2OBC
2263 IF (.not.
destroy(ng, boundary(ng)%vbarG_east, myfile, &
2264 & __line__, 'BOUNDARY(ng)%vbarG_east')) RETURN
2265# endif
2266 END IF
2267# ifdef WEC
2268 IF (
lbc(
ieast,isv2sd,ng)%acquire)
THEN
2269 IF (.not.
destroy(ng, boundary(ng)%vbarstokes_east, myfile, &
2270 & __line__, 'BOUNDARY(ng)%vbarstokes_east')) RETURN
2271 END IF
2272# endif
2273
2274# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2277# else
2279# endif
2280 IF (.not.
destroy(ng, boundary(ng)%vbar_south, myfile, &
2281 & __line__, 'BOUNDARY(ng)%vbar_south')) RETURN
2282
2283# if defined CELERITY_READ || defined CELERITY_WRITE
2284 IF (.not.
destroy(ng, boundary(ng)%vbar_south_C2, myfile, &
2285 & __line__, 'BOUNDARY(ng)%vbar_south_C2')) RETURN
2286
2287 IF (.not.
destroy(ng, boundary(ng)%vbar_south_Ce, myfile, &
2288 & __line__, 'BOUNDARY(ng)%vbar_south_Ce')) RETURN
2289
2290 IF (.not.
destroy(ng, boundary(ng)%vbar_south_Cx, myfile, &
2291 & __line__, 'BOUNDARY(ng)%vbar_south_Cx')) RETURN
2292# endif
2293
2294# ifndef ANA_M2OBC
2295 IF (.not.
destroy(ng, boundary(ng)%vbarG_south, myfile, &
2296 & __line__, 'BOUNDARY(ng)%vbarG_south')) RETURN
2297# endif
2298 END IF
2299# ifdef WEC
2301 IF (.not.
destroy(ng, boundary(ng)%vbarstokes_south, myfile, &
2302 & __line__, 'BOUNDARY(ng)%vbarstokes_south')) RETURN
2303 END IF
2304# endif
2305
2306# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2309# else
2311# endif
2312 IF (.not.
destroy(ng, boundary(ng)%vbar_north, myfile, &
2313 & __line__, 'BOUNDARY(ng)%vbar_north')) RETURN
2314
2315# if defined CELERITY_READ || defined CELERITY_WRITE
2316 IF (.not.
destroy(ng, boundary(ng)%vbar_north_C2, myfile, &
2317 & __line__, 'BOUNDARY(ng)%vbar_north_C2')) RETURN
2318
2319 IF (.not.
destroy(ng, boundary(ng)%vbar_north_Ce, myfile, &
2320 & __line__, 'BOUNDARY(ng)%vbar_north_Ce')) RETURN
2321
2322 IF (.not.
destroy(ng, boundary(ng)%vbar_north_Cx, myfile, &
2323 & __line__, 'BOUNDARY(ng)%vbar_north_Cx')) RETURN
2324# endif
2325
2326# ifndef ANA_M2OBC
2327 IF (.not.
destroy(ng, boundary(ng)%vbarG_north, myfile, &
2328 & __line__, 'BOUNDARY(ng)%vbarG_north')) RETURN
2329# endif
2330 END IF
2331# ifdef WEC
2333 IF (.not.
destroy(ng, boundary(ng)%vbarstokes_north, myfile, &
2334 & __line__, 'BOUNDARY(ng)%vbarstokes_north')) RETURN
2335 END IF
2336# endif
2337
2338# ifdef SOLVE3D
2339
2340# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2343# else
2345# endif
2346 IF (.not.
destroy(ng, boundary(ng)%u_west, myfile, &
2347 & __line__, 'BOUNDARY(ng)%u_west')) RETURN
2348
2349# if defined CELERITY_READ || defined CELERITY_WRITE
2350 IF (.not.
destroy(ng, boundary(ng)%u_west_C2, myfile, &
2351 & __line__, 'BOUNDARY(ng)%u_west_C2')) RETURN
2352
2353 IF (.not.
destroy(ng, boundary(ng)%u_west_Ce, myfile, &
2354 & __line__, 'BOUNDARY(ng)%u_west_Ce')) RETURN
2355
2356 IF (.not.
destroy(ng, boundary(ng)%u_west_Cx, myfile, &
2357 & __line__, 'BOUNDARY(ng)%u_west_Cx')) RETURN
2358# endif
2359
2360# ifndef ANA_M3OBC
2361 IF (.not.
destroy(ng, boundary(ng)%uG_west, myfile, &
2362 & __line__, 'BOUNDARY(ng)%uG_west')) RETURN
2363# endif
2364 END IF
2365# ifdef WEC
2366 IF (
lbc(
iwest,isu3sd,ng)%acquire)
THEN
2367 IF (.not.
destroy(ng, boundary(ng)%ustokes_west, myfile, &
2368 & __line__, 'BOUNDARY(ng)%ustokes_west')) RETURN
2369 END IF
2370# endif
2371
2372# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2375# else
2377# endif
2378 IF (.not.
destroy(ng, boundary(ng)%u_east, myfile, &
2379 & __line__, 'BOUNDARY(ng)%u_east')) RETURN
2380
2381# if defined CELERITY_READ || defined CELERITY_WRITE
2382 IF (.not.
destroy(ng, boundary(ng)%u_east_C2, myfile, &
2383 & __line__, 'BOUNDARY(ng)%u_east_C2')) RETURN
2384
2385 IF (.not.
destroy(ng, boundary(ng)%u_east_Ce, myfile, &
2386 & __line__, 'BOUNDARY(ng)%u_east_Ce')) RETURN
2387
2388 IF (.not.
destroy(ng, boundary(ng)%u_east_Cx, myfile, &
2389 & __line__, 'BOUNDARY(ng)%u_east_Cx')) RETURN
2390# endif
2391
2392# ifndef ANA_M3OBC
2393 IF (.not.
destroy(ng, boundary(ng)%uG_east, myfile, &
2394 & __line__, 'BOUNDARY(ng)%uG_east')) RETURN
2395# endif
2396 END IF
2397# ifdef WEC
2398 IF (
lbc(
ieast,isu3sd,ng)%acquire)
THEN
2399 IF (.not.
destroy(ng, boundary(ng)%ustokes_east, myfile, &
2400 & __line__, 'BOUNDARY(ng)%ustokes_east')) RETURN
2401 END IF
2402# endif
2403
2404# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2407# else
2409# endif
2410 IF (.not.
destroy(ng, boundary(ng)%u_south, myfile, &
2411 & __line__, 'BOUNDARY(ng)%u_south')) RETURN
2412
2413# if defined CELERITY_READ || defined CELERITY_WRITE
2414 IF (.not.
destroy(ng, boundary(ng)%u_south_C2, myfile, &
2415 & __line__, 'BOUNDARY(ng)%u_south_C2')) RETURN
2416
2417 IF (.not.
destroy(ng, boundary(ng)%u_south_Ce, myfile, &
2418 & __line__, 'BOUNDARY(ng)%u_south_Ce')) RETURN
2419
2420 IF (.not.
destroy(ng, boundary(ng)%u_south_Cx, myfile, &
2421 & __line__, 'BOUNDARY(ng)%u_south_Cx')) RETURN
2422# endif
2423
2424# ifndef ANA_M3OBC
2425 IF (.not.
destroy(ng, boundary(ng)%uG_south, myfile, &
2426 & __line__, 'BOUNDARY(ng)%uG_south')) RETURN
2427# endif
2428 END IF
2429# ifdef WEC
2431 IF (.not.
destroy(ng, boundary(ng)%ustokes_south, myfile, &
2432 & __line__, 'BOUNDARY(ng)%ustokes_south')) RETURN
2433 END IF
2434# endif
2435
2436# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2439# else
2441# endif
2442 IF (.not.
destroy(ng, boundary(ng)%u_north, myfile, &
2443 & __line__, 'BOUNDARY(ng)%u_north')) RETURN
2444
2445# if defined CELERITY_READ || defined CELERITY_WRITE
2446 IF (.not.
destroy(ng, boundary(ng)%u_north_C2, myfile, &
2447 & __line__, 'BOUNDARY(ng)%u_north_C2')) RETURN
2448
2449 IF (.not.
destroy(ng, boundary(ng)%u_north_Ce, myfile, &
2450 & __line__, 'BOUNDARY(ng)%u_north_Ce')) RETURN
2451
2452 IF (.not.
destroy(ng, boundary(ng)%u_north_Cx, myfile, &
2453 & __line__, 'BOUNDARY(ng)%u_north_Cx')) RETURN
2454# endif
2455
2456# ifndef ANA_M3OBC
2457 IF (.not.
destroy(ng, boundary(ng)%uG_north, myfile, &
2458 & __line__, 'BOUNDARY(ng)%uG_north')) RETURN
2459# endif
2460 END IF
2461# ifdef WEC
2463 IF (.not.
destroy(ng, boundary(ng)%ustokes_north, myfile, &
2464 & __line__, 'BOUNDARY(ng)%ustokes_north')) RETURN
2465 END IF
2466# endif
2467
2468# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2471# else
2473# endif
2474 IF (.not.
destroy(ng, boundary(ng)%v_west, myfile, &
2475 & __line__, 'BOUNDARY(ng)%v_west')) RETURN
2476
2477# if defined CELERITY_READ || defined CELERITY_WRITE
2478 IF (.not.
destroy(ng, boundary(ng)%v_west_C2, myfile, &
2479 & __line__, 'BOUNDARY(ng)%v_west_C2')) RETURN
2480
2481 IF (.not.
destroy(ng, boundary(ng)%v_west_Ce, myfile, &
2482 & __line__, 'BOUNDARY(ng)%v_west_Ce')) RETURN
2483
2484 IF (.not.
destroy(ng, boundary(ng)%v_west_Cx, myfile, &
2485 & __line__, 'BOUNDARY(ng)%v_west_Cx')) RETURN
2486# endif
2487
2488# ifndef ANA_M3OBC
2489 IF (.not.
destroy(ng, boundary(ng)%vG_west, myfile, &
2490 & __line__, 'BOUNDARY(ng)%vG_west')) RETURN
2491# endif
2492 END IF
2493# ifdef WEC
2494 IF (
lbc(
iwest,isv3sd,ng)%acquire)
THEN
2495 IF (.not.
destroy(ng, boundary(ng)%vstokes_west, myfile, &
2496 & __line__, 'BOUNDARY(ng)%vstokes_west')) RETURN
2497 END IF
2498# endif
2499
2500# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2503# else
2505# endif
2506 IF (.not.
destroy(ng, boundary(ng)%v_east, myfile, &
2507 & __line__, 'BOUNDARY(ng)%v_east')) RETURN
2508
2509# if defined CELERITY_READ || defined CELERITY_WRITE
2510 IF (.not.
destroy(ng, boundary(ng)%v_east_C2, myfile, &
2511 & __line__, 'BOUNDARY(ng)%v_east_C2')) RETURN
2512
2513 IF (.not.
destroy(ng, boundary(ng)%v_east_Ce, myfile, &
2514 & __line__, 'BOUNDARY(ng)%v_east_Ce')) RETURN
2515
2516 IF (.not.
destroy(ng, boundary(ng)%v_east_Cx, myfile, &
2517 & __line__, 'BOUNDARY(ng)%v_east_Cx')) RETURN
2518# endif
2519
2520# ifndef ANA_M3OBC
2521 IF (.not.
destroy(ng, boundary(ng)%vG_east, myfile, &
2522 & __line__, 'BOUNDARY(ng)%vG_east')) RETURN
2523# endif
2524 END IF
2525# ifdef WEC
2526 IF (
lbc(
ieast,isv3sd,ng)%acquire)
THEN
2527 IF (.not.
destroy(ng, boundary(ng)%vstokes_east, myfile, &
2528 & __line__, 'BOUNDARY(ng)%vstokes_east')) RETURN
2529 END IF
2530# endif
2531
2532# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2535# else
2537# endif
2538 IF (.not.
destroy(ng, boundary(ng)%v_south, myfile, &
2539 & __line__, 'BOUNDARY(ng)%v_south')) RETURN
2540
2541# if defined CELERITY_READ || defined CELERITY_WRITE
2542 IF (.not.
destroy(ng, boundary(ng)%v_south_C2, myfile, &
2543 & __line__, 'BOUNDARY(ng)%v_south_C2')) RETURN
2544
2545 IF (.not.
destroy(ng, boundary(ng)%v_south_Ce, myfile, &
2546 & __line__, 'BOUNDARY(ng)%v_south_Ce')) RETURN
2547
2548 IF (.not.
destroy(ng, boundary(ng)%v_south_Cx, myfile, &
2549 & __line__, 'BOUNDARY(ng)%v_south_Cx')) RETURN
2550# endif
2551
2552# ifndef ANA_M3OBC
2553 IF (.not.
destroy(ng, boundary(ng)%vG_south, myfile, &
2554 & __line__, 'BOUNDARY(ng)%vG_south')) RETURN
2555# endif
2556 END IF
2557# ifdef WEC
2559 IF (.not.
destroy(ng, boundary(ng)%vstokes_south, myfile, &
2560 & __line__, 'BOUNDARY(ng)%vstokes_south')) RETURN
2561 END IF
2562# endif
2563
2564# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2567# else
2569# endif
2570 IF (.not.
destroy(ng, boundary(ng)%v_north, myfile, &
2571 & __line__, 'BOUNDARY(ng)%v_north')) RETURN
2572
2573# if defined CELERITY_READ || defined CELERITY_WRITE
2574 IF (.not.
destroy(ng, boundary(ng)%u_north_C2, myfile, &
2575 & __line__, 'BOUNDARY(ng)%u_north_C2')) RETURN
2576
2577 IF (.not.
destroy(ng, boundary(ng)%u_north_Ce, myfile, &
2578 & __line__, 'BOUNDARY(ng)%u_north_Ce')) RETURN
2579
2580 IF (.not.
destroy(ng, boundary(ng)%u_north_Cx, myfile, &
2581 & __line__, 'BOUNDARY(ng)%u_north_Cx')) RETURN
2582# endif
2583
2584# ifndef ANA_M3OBC
2585 IF (.not.
destroy(ng, boundary(ng)%vG_north, myfile, &
2586 & __line__, 'BOUNDARY(ng)%vG_north')) RETURN
2587# endif
2588 END IF
2589# ifdef WEC
2591 IF (.not.
destroy(ng, boundary(ng)%vstokes_north, myfile, &
2592 & __line__, 'BOUNDARY(ng)%vstokes_north')) RETURN
2593 END IF
2594# endif
2595
2596# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2599# else
2601# endif
2602 IF (.not.
destroy(ng, boundary(ng)%t_west, myfile, &
2603 & __line__, 'BOUNDARY(ng)%t_west')) RETURN
2604
2605# if defined CELERITY_READ || defined CELERITY_WRITE
2606 IF (.not.
destroy(ng, boundary(ng)%t_west_C2, myfile, &
2607 & __line__, 'BOUNDARY(ng)%t_west_C2')) RETURN
2608
2609 IF (.not.
destroy(ng, boundary(ng)%t_west_Ce, myfile, &
2610 & __line__, 'BOUNDARY(ng)%t_west_Ce')) RETURN
2611
2612 IF (.not.
destroy(ng, boundary(ng)%t_west_Cx, myfile, &
2613 & __line__, 'BOUNDARY(ng)%t_west_Cx')) RETURN
2614# endif
2615
2616# ifndef ANA_TOBC
2617 IF (.not.
destroy(ng, boundary(ng)%tG_west, myfile, &
2618 & __line__, 'BOUNDARY(ng)%tG_west')) RETURN
2619# endif
2620 END IF
2621
2622# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2625# else
2627# endif
2628 IF (.not.
destroy(ng, boundary(ng)%t_east, myfile, &
2629 & __line__, 'BOUNDARY(ng)%t_east')) RETURN
2630
2631# if defined CELERITY_READ || defined CELERITY_WRITE
2632 IF (.not.
destroy(ng, boundary(ng)%t_east_C2, myfile, &
2633 & __line__, 'BOUNDARY(ng)%t_east_C2')) RETURN
2634
2635 IF (.not.
destroy(ng, boundary(ng)%t_east_Ce, myfile, &
2636 & __line__, 'BOUNDARY(ng)%t_east_Ce')) RETURN
2637
2638 IF (.not.
destroy(ng, boundary(ng)%t_east_Cx, myfile, &
2639 & __line__, 'BOUNDARY(ng)%t_east_Cx')) RETURN
2640# endif
2641
2642# ifndef ANA_TOBC
2643 IF (.not.
destroy(ng, boundary(ng)%tG_east, myfile, &
2644 & __line__, 'BOUNDARY(ng)%tG_east')) RETURN
2645# endif
2646 END IF
2647
2648# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2651# else
2653# endif
2654 IF (.not.
destroy(ng, boundary(ng)%t_south, myfile, &
2655 & __line__, 'BOUNDARY(ng)%t_south')) RETURN
2656
2657# if defined CELERITY_READ || defined CELERITY_WRITE
2658 IF (.not.
destroy(ng, boundary(ng)%t_south_C2, myfile, &
2659 & __line__, 'BOUNDARY(ng)%t_south_C2')) RETURN
2660
2661 IF (.not.
destroy(ng, boundary(ng)%t_south_Ce, myfile, &
2662 & __line__, 'BOUNDARY(ng)%t_south_Ce')) RETURN
2663
2664 IF (.not.
destroy(ng, boundary(ng)%t_south_Cx, myfile, &
2665 & __line__, 'BOUNDARY(ng)%t_south_Cx')) RETURN
2666# endif
2667
2668# ifndef ANA_TOBC
2669 IF (.not.
destroy(ng, boundary(ng)%tG_south, myfile, &
2670 & __line__, 'BOUNDARY(ng)%tG_south')) RETURN
2671# endif
2672 END IF
2673
2674# if defined ADJOINT || defined TANGENT || defined TL_IOMS
2677# else
2679# endif
2680 IF (.not.
destroy(ng, boundary(ng)%t_north, myfile, &
2681 & __line__, 'BOUNDARY(ng)%t_north')) RETURN
2682
2683# if defined CELERITY_READ || defined CELERITY_WRITE
2684 IF (.not.
destroy(ng, boundary(ng)%t_north_C2, myfile, &
2685 & __line__, 'BOUNDARY(ng)%t_north_C2')) RETURN
2686
2687 IF (.not.
destroy(ng, boundary(ng)%t_north_Ce, myfile, &
2688 & __line__, 'BOUNDARY(ng)%t_north_Ce')) RETURN
2689
2690 IF (.not.
destroy(ng, boundary(ng)%t_north_Cx, myfile, &
2691 & __line__, 'BOUNDARY(ng)%t_north_Cx')) RETURN
2692# endif
2693
2694# ifndef ANA_TOBC
2695 IF (.not.
destroy(ng, boundary(ng)%tG_north, myfile, &
2696 & __line__, 'BOUNDARY(ng)%tG_north')) RETURN
2697# endif
2698 END IF
2699# endif
2700
2701# if defined TANGENT || defined TL_IOMS
2702
2703
2704
2706 IF (.not.
destroy(ng, boundary(ng)%tl_zeta_west, myfile, &
2707 & __line__, 'BOUNDARY(ng)%tl_zeta_west')) RETURN
2708 END IF
2709
2711 IF (.not.
destroy(ng, boundary(ng)%tl_zeta_east, myfile, &
2712 & __line__, 'BOUNDARY(ng)%tl_zeta_east')) RETURN
2713 END IF
2714
2716 IF (.not.
destroy(ng, boundary(ng)%tl_zeta_south, myfile, &
2717 & __line__, 'BOUNDARY(ng)%tl_zeta_south')) RETURN
2718 END IF
2719
2721 IF (.not.
destroy(ng, boundary(ng)%tl_zeta_north, myfile, &
2722 & __line__, 'BOUNDARY(ng)%tl_zeta_north')) RETURN
2723 END IF
2724
2726 IF (.not.
destroy(ng, boundary(ng)%tl_ubar_west, myfile, &
2727 & __line__, 'BOUNDARY(ng)%tl_ubar_west')) RETURN
2728 END IF
2729
2731 IF (.not.
destroy(ng, boundary(ng)%tl_ubar_east, myfile, &
2732 & __line__, 'BOUNDARY(ng)%tl_ubar_east')) RETURN
2733 END IF
2734
2736 IF (.not.
destroy(ng, boundary(ng)%tl_ubar_south, myfile, &
2737 & __line__, 'BOUNDARY(ng)%tl_ubar_south')) RETURN
2738 END IF
2739
2741 IF (.not.
destroy(ng, boundary(ng)%tl_ubar_north, myfile, &
2742 & __line__, 'BOUNDARY(ng)%tl_ubar_north')) RETURN
2743 END IF
2744
2746 IF (.not.
destroy(ng, boundary(ng)%tl_vbar_west, myfile, &
2747 & __line__, 'BOUNDARY(ng)%tl_vbar_west')) RETURN
2748 END IF
2749
2751 IF (.not.
destroy(ng, boundary(ng)%tl_vbar_east, myfile, &
2752 & __line__, 'BOUNDARY(ng)%tl_vbar_east')) RETURN
2753 END IF
2754
2756 IF (.not.
destroy(ng, boundary(ng)%tl_vbar_south, myfile, &
2757 & __line__, 'BOUNDARY(ng)%tl_vbar_south')) RETURN
2758 END IF
2759
2761 IF (.not.
destroy(ng, boundary(ng)%tl_vbar_north, myfile, &
2762 & __line__, 'BOUNDARY(ng)%tl_vbar_north')) RETURN
2763 END IF
2764
2765# ifdef SOLVE3D
2766
2768 IF (.not.
destroy(ng, boundary(ng)%tl_u_west, myfile, &
2769 & __line__, 'BOUNDARY(ng)%tl_u_west')) RETURN
2770 END IF
2772 IF (.not.
destroy(ng, boundary(ng)%tl_u_east, myfile, &
2773 & __line__, 'BOUNDARY(ng)%tl_u_east')) RETURN
2774 END IF
2775
2777 IF (.not.
destroy(ng, boundary(ng)%tl_u_south, myfile, &
2778 & __line__, 'BOUNDARY(ng)%tl_u_south')) RETURN
2779 END IF
2780
2782 IF (.not.
destroy(ng, boundary(ng)%tl_u_north, myfile, &
2783 & __line__, 'BOUNDARY(ng)%tl_u_north')) RETURN
2784 END IF
2785
2787 IF (.not.
destroy(ng, boundary(ng)%tl_v_west, myfile, &
2788 & __line__, 'BOUNDARY(ng)%tl_v_west')) RETURN
2789 END IF
2790
2792 IF (.not.
destroy(ng, boundary(ng)%tl_v_east, myfile, &
2793 & __line__, 'BOUNDARY(ng)%tl_v_east')) RETURN
2794 END IF
2795
2797 IF (.not.
destroy(ng, boundary(ng)%tl_v_south, myfile, &
2798 & __line__, 'BOUNDARY(ng)%tl_v_south')) RETURN
2799 END IF
2800
2802 IF (.not.
destroy(ng, boundary(ng)%tl_v_north, myfile, &
2803 & __line__, 'BOUNDARY(ng)%tl_v_north')) RETURN
2804 END IF
2805
2807 IF (.not.
destroy(ng, boundary(ng)%tl_t_west, myfile, &
2808 & __line__, 'BOUNDARY(ng)%tl_t_west')) RETURN
2809 END IF
2810
2812 IF (.not.
destroy(ng, boundary(ng)%tl_t_east, myfile, &
2813 & __line__, 'BOUNDARY(ng)%tl_t_east')) RETURN
2814 END IF
2815
2817 IF (.not.
destroy(ng, boundary(ng)%tl_t_south, myfile, &
2818 & __line__, 'BOUNDARY(ng)%tl_t_south')) RETURN
2819 END IF
2820
2822 IF (.not.
destroy(ng, boundary(ng)%tl_t_north, myfile, &
2823 & __line__, 'BOUNDARY(ng)%tl_t_north')) RETURN
2824 END IF
2825# endif
2826# endif
2827
2828# ifdef ADJOINT
2829
2830
2831
2833 IF (.not.
destroy(ng, boundary(ng)%ad_zeta_west, myfile, &
2834 & __line__, 'BOUNDARY(ng)%ad_zeta_west')) RETURN
2835 END IF
2836
2838 IF (.not.
destroy(ng, boundary(ng)%ad_zeta_east, myfile, &
2839 & __line__, 'BOUNDARY(ng)%ad_zeta_east')) RETURN
2840 END IF
2841
2843 IF (.not.
destroy(ng, boundary(ng)%ad_zeta_south, myfile, &
2844 & __line__, 'BOUNDARY(ng)%ad_zeta_south')) RETURN
2845 END IF
2846
2848 IF (.not.
destroy(ng, boundary(ng)%ad_zeta_north, myfile, &
2849 & __line__, 'BOUNDARY(ng)%ad_zeta_north')) RETURN
2850 END IF
2851
2853 IF (.not.
destroy(ng, boundary(ng)%ad_ubar_west, myfile, &
2854 & __line__, 'BOUNDARY(ng)%ad_ubar_west')) RETURN
2855 END IF
2856
2858 IF (.not.
destroy(ng, boundary(ng)%ad_ubar_east, myfile, &
2859 & __line__, 'BOUNDARY(ng)%ad_ubar_east')) RETURN
2860 END IF
2861
2863 IF (.not.
destroy(ng, boundary(ng)%ad_ubar_south, myfile, &
2864 & __line__, 'BOUNDARY(ng)%ad_ubar_south')) RETURN
2865 END IF
2866
2868 IF (.not.
destroy(ng, boundary(ng)%ad_ubar_north, myfile, &
2869 & __line__, 'BOUNDARY(ng)%ad_ubar_north')) RETURN
2870 END IF
2871
2873 IF (.not.
destroy(ng, boundary(ng)%ad_vbar_west, myfile, &
2874 & __line__, 'BOUNDARY(ng)%ad_vbar_west')) RETURN
2875 END IF
2876
2878 IF (.not.
destroy(ng, boundary(ng)%ad_vbar_east, myfile, &
2879 & __line__, 'BOUNDARY(ng)%ad_vbar_east')) RETURN
2880 END IF
2881
2883 IF (.not.
destroy(ng, boundary(ng)%ad_vbar_south, myfile, &
2884 & __line__, 'BOUNDARY(ng)%ad_vbar_south')) RETURN
2885 END IF
2886
2888 IF (.not.
destroy(ng, boundary(ng)%ad_vbar_north, myfile, &
2889 & __line__, 'BOUNDARY(ng)%ad_vbar_north')) RETURN
2890 END IF
2891
2892# ifdef SOLVE3D
2893
2895 IF (.not.
destroy(ng, boundary(ng)%ad_u_west, myfile, &
2896 & __line__, 'BOUNDARY(ng)%ad_u_west')) RETURN
2897 END IF
2898
2900 IF (.not.
destroy(ng, boundary(ng)%ad_u_east, myfile, &
2901 & __line__, 'BOUNDARY(ng)%ad_u_east')) RETURN
2902 END IF
2903
2905 IF (.not.
destroy(ng, boundary(ng)%ad_u_south, myfile, &
2906 & __line__, 'BOUNDARY(ng)%ad_u_south')) RETURN
2907 END IF
2908
2910 IF (.not.
destroy(ng, boundary(ng)%ad_u_north, myfile, &
2911 & __line__, 'BOUNDARY(ng)%ad_u_north')) RETURN
2912 END IF
2913
2915 IF (.not.
destroy(ng, boundary(ng)%ad_v_west, myfile, &
2916 & __line__, 'BOUNDARY(ng)%ad_v_west')) RETURN
2917 END IF
2918
2920 IF (.not.
destroy(ng, boundary(ng)%ad_v_east, myfile, &
2921 & __line__, 'BOUNDARY(ng)%ad_v_east')) RETURN
2922 END IF
2923
2925 IF (.not.
destroy(ng, boundary(ng)%ad_v_south, myfile, &
2926 & __line__, 'BOUNDARY(ng)%ad_v_south')) RETURN
2927 END IF
2928
2930 IF (.not.
destroy(ng, boundary(ng)%ad_v_north, myfile, &
2931 & __line__, 'BOUNDARY(ng)%ad_v_north')) RETURN
2932 END IF
2933
2935 IF (.not.
destroy(ng, boundary(ng)%ad_t_west, myfile, &
2936 & __line__, 'BOUNDARY(ng)%ad_t_west')) RETURN
2937 END IF
2938
2940 IF (.not.
destroy(ng, boundary(ng)%ad_t_east, myfile, &
2941 & __line__, 'BOUNDARY(ng)%ad_t_east')) RETURN
2942 END IF
2943
2945 IF (.not.
destroy(ng, boundary(ng)%ad_t_south, myfile, &
2946 & __line__, 'BOUNDARY(ng)%ad_t_south')) RETURN
2947 END IF
2948
2950 IF (.not.
destroy(ng, boundary(ng)%ad_t_north, myfile, &
2951 & __line__, 'BOUNDARY(ng)%ad_t_north')) RETURN
2952 END IF
2953# endif
2954# endif
2955
2956# ifdef ADJUST_BOUNDARY
2957
2958
2959
2960# ifdef SOLVE3D
2961 IF (.not.
destroy(ng, boundary(ng)%t_obc, myfile, &
2962 & __line__, 'BOUNDARY(ng)%t_obc')) RETURN
2963
2964 IF (.not.
destroy(ng, boundary(ng)%u_obc, myfile, &
2965 & __line__, 'BOUNDARY(ng)%u_obc')) RETURN
2966
2967 IF (.not.
destroy(ng, boundary(ng)%v_obc, myfile, &
2968 & __line__, 'BOUNDARY(ng)%v_obc')) RETURN
2969
2970 IF (.not.
destroy(ng, boundary(ng)%ad_t_obc, myfile, &
2971 & __line__, 'BOUNDARY(ng)%ad_t_obc')) RETURN
2972
2973 IF (.not.
destroy(ng, boundary(ng)%ad_u_obc, myfile, &
2974 & __line__, 'BOUNDARY(ng)%ad_u_obc')) RETURN
2975
2976 IF (.not.
destroy(ng, boundary(ng)%ad_v_obc, myfile, &
2977 & __line__, 'BOUNDARY(ng)%ad_v_obc')) RETURN
2978
2979 IF (.not.
destroy(ng, boundary(ng)%tl_t_obc, myfile, &
2980 & __line__, 'BOUNDARY(ng)%tl_t_obc')) RETURN
2981
2982 IF (.not.
destroy(ng, boundary(ng)%tl_u_obc, myfile, &
2983 & __line__, 'BOUNDARY(ng)%tl_u_obc')) RETURN
2984
2985 IF (.not.
destroy(ng, boundary(ng)%tl_v_obc, myfile, &
2986 & __line__, 'BOUNDARY(ng)%tl_v_obc')) RETURN
2987
2988 IF (.not.
destroy(ng, boundary(ng)%b_t_obc, myfile, &
2989 & __line__, 'BOUNDARY(ng)%b_t_obc')) RETURN
2990
2991 IF (.not.
destroy(ng, boundary(ng)%b_u_obc, myfile, &
2992 & __line__, 'BOUNDARY(ng)%b_u_obc')) RETURN
2993
2994 IF (.not.
destroy(ng, boundary(ng)%b_v_obc, myfile, &
2995 & __line__, 'BOUNDARY(ng)%b_v_obc')) RETURN
2996
2997 IF (.not.
destroy(ng, boundary(ng)%d_t_obc, myfile, &
2998 & __line__, 'BOUNDARY(ng)%d_t_obc')) RETURN
2999
3000 IF (.not.
destroy(ng, boundary(ng)%d_u_obc, myfile, &
3001 & __line__, 'BOUNDARY(ng)%d_u_obc')) RETURN
3002
3003 IF (.not.
destroy(ng, boundary(ng)%d_v_obc, myfile, &
3004 & __line__, 'BOUNDARY(ng)%d_v_obc')) RETURN
3005
3006 IF (.not.
destroy(ng, boundary(ng)%e_t_obc, myfile, &
3007 & __line__, 'BOUNDARY(ng)%e_t_obc')) RETURN
3008
3009 IF (.not.
destroy(ng, boundary(ng)%e_u_obc, myfile, &
3010 & __line__, 'BOUNDARY(ng)%e_u_obc')) RETURN
3011
3012 IF (.not.
destroy(ng, boundary(ng)%e_v_obc, myfile, &
3013 & __line__, 'BOUNDARY(ng)%e_v_obc')) RETURN
3014# endif
3015
3016 IF (.not.
destroy(ng, boundary(ng)%ubar_obc, myfile, &
3017 & __line__, 'BOUNDARY(ng)%ubar_obc')) RETURN
3018
3019 IF (.not.
destroy(ng, boundary(ng)%vbar_obc, myfile, &
3020 & __line__, 'BOUNDARY(ng)%vbar_obc')) RETURN
3021
3022 IF (.not.
destroy(ng, boundary(ng)%zeta_obc, myfile, &
3023 & __line__, 'BOUNDARY(ng)%zeta_obc')) RETURN
3024
3025 IF (.not.
destroy(ng, boundary(ng)%ad_ubar_obc, myfile, &
3026 & __line__, 'BOUNDARY(ng)%ad_ubar_obc')) RETURN
3027
3028 IF (.not.
destroy(ng, boundary(ng)%ad_vbar_obc, myfile, &
3029 & __line__, 'BOUNDARY(ng)%ad_vbar_obc')) RETURN
3030
3031 IF (.not.
destroy(ng, boundary(ng)%ad_zeta_obc, myfile, &
3032 & __line__, 'BOUNDARY(ng)%ad_zeta_obc')) RETURN
3033
3034 IF (.not.
destroy(ng, boundary(ng)%tl_ubar_obc, myfile, &
3035 & __line__, 'BOUNDARY(ng)%tl_ubar_obc')) RETURN
3036
3037 IF (.not.
destroy(ng, boundary(ng)%tl_vbar_obc, myfile, &
3038 & __line__, 'BOUNDARY(ng)%tl_vbar_obc')) RETURN
3039
3040 IF (.not.
destroy(ng, boundary(ng)%tl_zeta_obc, myfile, &
3041 & __line__, 'BOUNDARY(ng)%tl_zeta_obc')) RETURN
3042
3043 IF (.not.
destroy(ng, boundary(ng)%b_ubar_obc, myfile, &
3044 & __line__, 'BOUNDARY(ng)%b_ubar_obc')) RETURN
3045
3046 IF (.not.
destroy(ng, boundary(ng)%b_vbar_obc, myfile, &
3047 & __line__, 'BOUNDARY(ng)%b_vbar_obc')) RETURN
3048
3049 IF (.not.
destroy(ng, boundary(ng)%b_zeta_obc, myfile, &
3050 & __line__, 'BOUNDARY(ng)%b_zeta_obc')) RETURN
3051
3052 IF (.not.
destroy(ng, boundary(ng)%d_ubar_obc, myfile, &
3053 & __line__, 'BOUNDARY(ng)%d_ubar_obc')) RETURN
3054
3055 IF (.not.
destroy(ng, boundary(ng)%d_vbar_obc, myfile, &
3056 & __line__, 'BOUNDARY(ng)%d_vbar_obc')) RETURN
3057
3058 IF (.not.
destroy(ng, boundary(ng)%d_zeta_obc, myfile, &
3059 & __line__, 'BOUNDARY(ng)%d_zeta_obc')) RETURN
3060
3061 IF (.not.
destroy(ng, boundary(ng)%e_ubar_obc, myfile, &
3062 & __line__, 'BOUNDARY(ng)%e_ubar_obc')) RETURN
3063
3064 IF (.not.
destroy(ng, boundary(ng)%e_vbar_obc, myfile, &
3065 & __line__, 'BOUNDARY(ng)%e_vbar_obc')) RETURN
3066
3067 IF (.not.
destroy(ng, boundary(ng)%e_zeta_obc, myfile, &
3068 & __line__, 'BOUNDARY(ng)%e_zeta_obc')) RETURN
3069# endif
3070#endif
3071
3072
3073
3074
3075
3077 IF (allocated(lbc_apply)) deallocate ( lbc_apply )
3078 IF (allocated(boundary)) deallocate ( boundary )
3079 END IF
3080
3081 RETURN