571#if defined ADJUST_STFLUX || defined ADJUST_WSTRESS
577 integer,
intent(in) :: ng, lbi, ubi, lbj, ubj
591 size2d=real((ubi-lbi+1)*(ubj-lbj+1),
r8)
595 allocate (
forces(ng) % sustr(lbi:ubi,lbj:ubj) )
598 allocate (
forces(ng) % svstr(lbi:ubi,lbj:ubj) )
601#if !defined ANA_SMFLUX && !defined BULK_FLUXES || \
602 defined forward_fluxes
603 allocate (
forces(ng) % sustrG(lbi:ubi,lbj:ubj,2) )
606 allocate (
forces(ng) % svstrG(lbi:ubi,lbj:ubj,2) )
610 allocate (
forces(ng) % ustr(lbi:ubi,lbj:ubj,
nfrec(ng),2) )
613 allocate (
forces(ng) % vstr(lbi:ubi,lbj:ubj,
nfrec(ng),2) )
616 allocate (
forces(ng) % bustr(lbi:ubi,lbj:ubj) )
619 allocate (
forces(ng) % bvstr(lbi:ubi,lbj:ubj) )
622#if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS || \
623 defined spectral_light
624 allocate (
forces(ng) % Pair(lbi:ubi,lbj:ubj) )
627 allocate (
forces(ng) % PairG(lbi:ubi,lbj:ubj,2) )
633 allocate (
forces(ng) % Dwave(lbi:ubi,lbj:ubj) )
636 allocate (
forces(ng) % DwaveG(lbi:ubi,lbj:ubj,2) )
642 allocate (
forces(ng) % Dwavep(lbi:ubi,lbj:ubj) )
645 allocate (
forces(ng) % DwavepG(lbi:ubi,lbj:ubj,2) )
651 allocate (
forces(ng) % Hwave(lbi:ubi,lbj:ubj) )
654 allocate (
forces(ng) % HwaveG(lbi:ubi,lbj:ubj,2) )
660 allocate (
forces(ng) % Lwave(lbi:ubi,lbj:ubj) )
663 allocate (
forces(ng) % LwaveG(lbi:ubi,lbj:ubj,2) )
669 allocate (
forces(ng) % Lwavep(lbi:ubi,lbj:ubj) )
672 allocate (
forces(ng) % LwavepG(lbi:ubi,lbj:ubj,2) )
677#ifdef WAVES_TOP_PERIOD
678 allocate (
forces(ng) % Pwave_top(lbi:ubi,lbj:ubj) )
681 allocate (
forces(ng) % Pwave_topG(lbi:ubi,lbj:ubj,2) )
686#ifdef WAVES_BOT_PERIOD
687 allocate (
forces(ng) % Pwave_bot(lbi:ubi,lbj:ubj) )
690 allocate (
forces(ng) % Pwave_botG(lbi:ubi,lbj:ubj,2) )
695#if defined BBL_MODEL || defined WAV_COUPLING
696 allocate (
forces(ng) % Uwave_rms(lbi:ubi,lbj:ubj) )
699 allocate (
forces(ng) % Uwave_rmsG(lbi:ubi,lbj:ubj,2) )
704#if defined TKE_WAVEDISS || defined WAV_COUPLING || \
705 defined wdiss_thorguza || defined wdiss_churthor || \
706 defined waves_diss || defined wdiss_inwave
707 allocate (
forces(ng) % Dissip_break(lbi:ubi,lbj:ubj) )
709 allocate (
forces(ng) % Dissip_wcap(lbi:ubi,lbj:ubj) )
712 allocate (
forces(ng) % Dissip_breakG(lbi:ubi,lbj:ubj,2) )
714 allocate (
forces(ng) % Dissip_wcapG(lbi:ubi,lbj:ubj,2) )
719#if defined WAV_COUPLING || (defined WEC_VF && defined BOTTOM_STREAMING)
720 allocate (
forces(ng) % Dissip_fric(lbi:ubi,lbj:ubj) )
723 allocate (
forces(ng) % Dissip_fricG(lbi:ubi,lbj:ubj,2) )
728#if defined WEC_ROLLER
729 allocate (
forces(ng) % Dissip_roller(lbi:ubi,lbj:ubj) )
732 allocate (
forces(ng) % Dissip_rollerG(lbi:ubi,lbj:ubj,2) )
737#if defined ROLLER_SVENDSEN
738 allocate (
forces(ng) % wave_break(lbi:ubi,lbj:ubj) )
741 allocate (
forces(ng) % Wave_breakG(lbi:ubi,lbj:ubj,2) )
746#if defined WAVES_DSPR
747 allocate (
forces(ng) % Wave_ds(lbi:ubi,lbj:ubj) )
749 allocate (
forces(ng) % Wave_qp(lbi:ubi,lbj:ubj) )
752 allocate (
forces(ng) % Wave_dsG(lbi:ubi,lbj:ubj,2) )
754 allocate (
forces(ng) % Wave_qpG(lbi:ubi,lbj:ubj,2) )
759#if defined WEC_ROLLER
760 allocate (
forces(ng) % rollA(lbi:ubi,lbj:ubj) )
764#ifdef SPECTRUM_STOKES
765 allocate (
forces(ng) % spec_wn(lbi:ubi,lbj:ubj,mscs) )
767 allocate (
forces(ng) % spec_us(lbi:ubi,lbj:ubj,mscs) )
769 allocate (
forces(ng) % spec_vs(lbi:ubi,lbj:ubj,mscs) )
776 allocate (
forces(ng) % srflx(lbi:ubi,lbj:ubj) )
780 allocate (
forces(ng) % srflxG(lbi:ubi,lbj:ubj,2) )
784 allocate (
forces(ng) % albedo(lbi:ubi,lbj:ubj) )
787 allocate (
forces(ng) % albedo_ice(lbi:ubi,lbj:ubj) )
793# if defined RED_TIDE && defined DAILY_SHORTWAVE
794 allocate (
forces(ng) % srflx_avg(lbi:ubi,lbj:ubj) )
797 allocate (
forces(ng) % srflxG_avg(lbi:ubi,lbj:ubj,2) )
802 allocate (
forces(ng) % cloud(lbi:ubi,lbj:ubj) )
806 allocate (
forces(ng) % cloudG(lbi:ubi,lbj:ubj,2) )
811# if defined BULK_FLUXES || defined FRC_COUPLING
812 allocate (
forces(ng) % lhflx(lbi:ubi,lbj:ubj) )
815 allocate (
forces(ng) % lrflx(lbi:ubi,lbj:ubj) )
818 allocate (
forces(ng) % shflx(lbi:ubi,lbj:ubj) )
822# if !defined LONGWAVE && defined BULK_FLUXES
823 allocate (
forces(ng) % lrflxG(lbi:ubi,lbj:ubj,2) )
827# if defined BULK_FLUXES || defined ECOSIM || \
828 (defined shortwave && defined ana_srflux) || \
829 defined spectral_light
830 allocate (
forces(ng) % Hair(lbi:ubi,lbj:ubj) )
834 allocate (
forces(ng) % HairG(lbi:ubi,lbj:ubj,2) )
838 allocate (
forces(ng) % Tair(lbi:ubi,lbj:ubj) )
842 allocate (
forces(ng) % TairG(lbi:ubi,lbj:ubj,2) )
847# if defined BULK_FLUXES || defined ECOSIM || \
848 defined spectral_light
849 allocate (
forces(ng) % Uwind(lbi:ubi,lbj:ubj) )
852 allocate (
forces(ng) % Vwind(lbi:ubi,lbj:ubj) )
856 allocate (
forces(ng) % UwindG(lbi:ubi,lbj:ubj,2) )
859 allocate (
forces(ng) % VwindG(lbi:ubi,lbj:ubj,2) )
865 allocate (
forces(ng) % rain(lbi:ubi,lbj:ubj) )
869 allocate (
forces(ng) % rainG(lbi:ubi,lbj:ubj,2) )
874 allocate (
forces(ng) % evap(lbi:ubi,lbj:ubj) )
879# if defined ICE_MODEL && defined ICE_BULK_FLUXES && defined BULK_FLUXES
880 allocate (
forces(ng) % Qnet_ai(lbi:ubi,lbj:ubj) )
883 allocate (
forces(ng) % Qnet_ao(lbi:ubi,lbj:ubj) )
886 allocate (
forces(ng) % snow(lbi:ubi,lbj:ubj) )
889 allocate (
forces(ng) % srflx_ice(lbi:ubi,lbj:ubj) )
892 allocate (
forces(ng) % sustr_ao(lbi:ubi,lbj:ubj) )
895 allocate (
forces(ng) % svstr_ao(lbi:ubi,lbj:ubj) )
898 allocate (
forces(ng) % sustr_ai(lbi:ubi,lbj:ubj) )
901 allocate (
forces(ng) % svstr_ai(lbi:ubi,lbj:ubj) )
905 allocate (
forces(ng) % stflux(lbi:ubi,lbj:ubj,
nt(ng)) )
908# if !defined ANA_STFLUX || !defined ANA_SSFLUX || \
910 allocate (
forces(ng) % stfluxG(lbi:ubi,lbj:ubj,2,
nt(ng)) )
915 allocate (
forces(ng) % stflx(lbi:ubi,lbj:ubj,
nt(ng)) )
919 allocate (
forces(ng) % tflux(lbi:ubi,lbj:ubj,
nfrec(ng), &
925 allocate (
forces(ng) % btflux(lbi:ubi,lbj:ubj,
nt(ng)) )
928# if !defined ANA_BTFLUX || !defined ANA_BSFLUX || \
930 allocate (
forces(ng) % btfluxG(lbi:ubi,lbj:ubj,2,
nt(ng)) )
934 allocate (
forces(ng) % btflx(lbi:ubi,lbj:ubj,
nt(ng)) )
938 allocate (
forces(ng) % dqdt(lbi:ubi,lbj:ubj) )
941 allocate (
forces(ng) % sst(lbi:ubi,lbj:ubj) )
945 allocate (
forces(ng) % dqdtG(lbi:ubi,lbj:ubj,2) )
948 allocate (
forces(ng) % sstG(lbi:ubi,lbj:ubj,2) )
953# if defined SALINITY && (defined SCORRECTION || defined SRELAXATION)
954 allocate (
forces(ng) % sss(lbi:ubi,lbj:ubj) )
958 allocate (
forces(ng) % sssG(lbi:ubi,lbj:ubj,2) )
963# if defined ECOSIM || defined SPECTRAL_LIGHT
964 allocate (
forces(ng) % SpecIr(lbi:ubi,lbj:ubj,
nbands) )
973#if defined TANGENT || defined TL_IOMS
977 allocate (
forces(ng) % tl_sustr(lbi:ubi,lbj:ubj) )
980 allocate (
forces(ng) % tl_svstr(lbi:ubi,lbj:ubj) )
982# ifdef ADJUST_WSTRESS
983 allocate (
forces(ng) % tl_ustr(lbi:ubi,lbj:ubj,
nfrec(ng),2) )
986 allocate (
forces(ng) % tl_vstr(lbi:ubi,lbj:ubj,
nfrec(ng),2) )
989 allocate (
forces(ng) % tl_bustr(lbi:ubi,lbj:ubj) )
992 allocate (
forces(ng) % tl_bvstr(lbi:ubi,lbj:ubj) )
995 allocate (
forces(ng) % tl_stflux(lbi:ubi,lbj:ubj,
nt(ng)) )
998 allocate (
forces(ng) % tl_stflx(lbi:ubi,lbj:ubj,
nt(ng)) )
1001 allocate (
forces(ng) % tl_btflux(lbi:ubi,lbj:ubj,
nt(ng)) )
1004 allocate (
forces(ng) % tl_btflx(lbi:ubi,lbj:ubj,
nt(ng)) )
1006# ifdef ADJUST_STFLUX
1007 allocate (
forces(ng) % tl_tflux(lbi:ubi,lbj:ubj,
nfrec(ng), &
1012 allocate (
forces(ng) % tl_srflx(lbi:ubi,lbj:ubj) )
1016 allocate (
forces(ng) % tl_lhflx(lbi:ubi,lbj:ubj) )
1019 allocate (
forces(ng) % tl_lrflx(lbi:ubi,lbj:ubj) )
1022 allocate (
forces(ng) % tl_shflx(lbi:ubi,lbj:ubj) )
1025 allocate (
forces(ng) % tl_evap(lbi:ubi,lbj:ubj) )
1036 allocate (
forces(ng) % ad_sustr(lbi:ubi,lbj:ubj) )
1039 allocate (
forces(ng) % ad_svstr(lbi:ubi,lbj:ubj) )
1042# ifdef ADJUST_WSTRESS
1043 allocate (
forces(ng) % ad_ustr(lbi:ubi,lbj:ubj,
nfrec(ng),2) )
1046 allocate (
forces(ng) % ad_vstr(lbi:ubi,lbj:ubj,
nfrec(ng),2) )
1049 allocate (
forces(ng) % ad_bustr(lbi:ubi,lbj:ubj) )
1052 allocate (
forces(ng) % ad_bvstr(lbi:ubi,lbj:ubj) )
1055 allocate (
forces(ng) % ad_bustr_sol(lbi:ubi,lbj:ubj) )
1058 allocate (
forces(ng) % ad_bvstr_sol(lbi:ubi,lbj:ubj) )
1061 allocate (
forces(ng) % ad_stflx(lbi:ubi,lbj:ubj,
nt(ng)) )
1064 allocate (
forces(ng) % ad_btflx(lbi:ubi,lbj:ubj,
nt(ng)) )
1066# ifdef ADJUST_STFLUX
1067 allocate (
forces(ng) % ad_tflux(lbi:ubi,lbj:ubj,
nfrec(ng), &
1072 allocate (
forces(ng) % ad_srflx(lbi:ubi,lbj:ubj) )
1076 allocate (
forces(ng) % ad_lhflx(lbi:ubi,lbj:ubj) )
1079 allocate (
forces(ng) % ad_lrflx(lbi:ubi,lbj:ubj) )
1082 allocate (
forces(ng) % ad_shflx(lbi:ubi,lbj:ubj) )
1085 allocate (
forces(ng) % ad_evap(lbi:ubi,lbj:ubj) )
1092#if defined ADJUST_WSTRESS || defined ADJUST_STFLUX
1098# if defined FOUR_DVAR || defined IMPULSE
1099# ifdef ADJUST_WSTRESS
1100 allocate (
forces(ng) % b_sustr(lbi:ubi,lbj:ubj) )
1103 allocate (
forces(ng) % b_svstr(lbi:ubi,lbj:ubj) )
1106# if defined ADJUST_STFLUX && defined SOLVE3D
1107 allocate (
forces(ng) % b_stflx(lbi:ubi,lbj:ubj,
nt(ng)) )
1112# ifdef ADJUST_WSTRESS
1113 allocate (
forces(ng) % d_sustr(lbi:ubi,lbj:ubj,
nfrec(ng)) )
1116 allocate (
forces(ng) % d_svstr(lbi:ubi,lbj:ubj,
nfrec(ng)) )
1119 allocate (
forces(ng) % e_sustr(lbi:ubi,lbj:ubj) )
1122 allocate (
forces(ng) % e_svstr(lbi:ubi,lbj:ubj) )
1125# if defined ADJUST_STFLUX && defined SOLVE3D
1126 allocate (
forces(ng) % d_stflx(lbi:ubi,lbj:ubj, &
1130 allocate (
forces(ng) % e_stflx(lbi:ubi,lbj:ubj,
nt(ng)) )
1751#if defined ADJUST_STFLUX || defined ADJUST_WSTRESS
1757 integer,
intent(in) :: ng, tile, model
1761 integer :: imin, imax, jmin, jmax
1767 real(
r8),
parameter :: inival = 0.0_r8
1769#include "set_bounds.h"
1774 imin=
bounds(ng)%LBi(tile)
1775 imax=
bounds(ng)%UBi(tile)
1776 jmin=
bounds(ng)%LBj(tile)
1777 jmax=
bounds(ng)%UBj(tile)
1779 IF (
domain(ng)%Western_Edge(tile))
THEN
1780 imin=
bounds(ng)%LBi(tile)
1784 IF (
domain(ng)%Eastern_Edge(tile))
THEN
1785 imax=
bounds(ng)%UBi(tile)
1789 IF (
domain(ng)%Southern_Edge(tile))
THEN
1790 jmin=
bounds(ng)%LBj(tile)
1794 IF (
domain(ng)%Northern_Edge(tile))
THEN
1795 jmax=
bounds(ng)%UBj(tile)
1807 IF ((model.eq.0).or.(model.eq.
inlm))
THEN
1810#ifdef ADJUST_WSTRESS
1812 forces(ng) % ustr(i,j,k,1) = inival
1813 forces(ng) % ustr(i,j,k,2) = inival
1814 forces(ng) % vstr(i,j,k,1) = inival
1815 forces(ng) % vstr(i,j,k,2) = inival
1818 forces(ng) % sustr(i,j) = inival
1819 forces(ng) % svstr(i,j) = inival
1820#if !defined ANA_SMFLUX && !defined BULK_FLUXES || \
1821 defined forward_fluxes
1822 forces(ng) % sustrG(i,j,1) = inival
1823 forces(ng) % sustrG(i,j,2) = inival
1824 forces(ng) % svstrG(i,j,1) = inival
1825 forces(ng) % svstrG(i,j,2) = inival
1827 forces(ng) % bustr(i,j) = inival
1828 forces(ng) % bvstr(i,j) = inival
1829#if defined BULK_FLUXES || defined ECOSIM || defined ATM_PRESS || \
1830 defined spectral_light
1831 forces(ng) % Pair(i,j) = inival
1833 forces(ng) % PairG(i,j,1) = inival
1834 forces(ng) % PairG(i,j,2) = inival
1838 forces(ng) % Dwave(i,j) = inival
1840 forces(ng) % DwaveG(i,j,1) = inival
1841 forces(ng) % DwaveG(i,j,2) = inival
1845 forces(ng) % Dwavep(i,j) = inival
1847 forces(ng) % DwavepG(i,j,1) = inival
1848 forces(ng) % DwavepG(i,j,2) = inival
1852 forces(ng) % Hwave(i,j) = inival
1854 forces(ng) % HwaveG(i,j,1) = inival
1855 forces(ng) % HwaveG(i,j,2) = inival
1859 forces(ng) % Lwave(i,j) = inival
1861 forces(ng) % LwaveG(i,j,1) = inival
1862 forces(ng) % LwaveG(i,j,2) = inival
1866 forces(ng) % Lwavep(i,j) = inival
1868 forces(ng) % LwavepG(i,j,1) = inival
1869 forces(ng) % LwavepG(i,j,2) = inival
1872#ifdef WAVES_TOP_PERIOD
1873 forces(ng) % Pwave_top(i,j) = inival
1875 forces(ng) % Pwave_topG(i,j,1) = inival
1876 forces(ng) % Pwave_topG(i,j,2) = inival
1879#ifdef WAVES_BOT_PERIOD
1880 forces(ng) % Pwave_bot(i,j) = inival
1882 forces(ng) % Pwave_botG(i,j,1) = inival
1883 forces(ng) % Pwave_botG(i,j,2) = inival
1886#if defined BBL_MODEL || defined WAV_COUPLING
1887 forces(ng) % Uwave_rms(i,j) = inival
1889 forces(ng) % Uwave_rmsG(i,j,1) = inival
1890 forces(ng) % Uwave_rmsG(i,j,2) = inival
1894#if defined TKE_WAVEDISS || defined WAV_COUPLING || \
1895 defined wdiss_thorguza || defined wdiss_churthor || \
1896 defined waves_diss || defined wdiss_inwave
1897 forces(ng) % Dissip_break(i,j) = inival
1898 forces(ng) % Dissip_wcap(i,j) = inival
1900 forces(ng) % Dissip_breakG(i,j,1) = inival
1901 forces(ng) % Dissip_breakG(i,j,2) = inival
1902 forces(ng) % Dissip_wcapG(i,j,1) = inival
1903 forces(ng) % Dissip_wcapG(i,j,2) = inival
1906#if defined WAV_COUPLING || (defined WEC_VF && defined BOTTOM_STREAMING)
1907 forces(ng) % Dissip_fric(i,j) = inival
1909 forces(ng) % Dissip_fricG(i,j,1) = inival
1910 forces(ng) % Dissip_fricG(i,j,2) = inival
1914#if defined WEC_ROLLER
1915 forces(ng) % Dissip_roller(i,j) = inival
1917 forces(ng) % Dissip_rollerG(i,j,1) = inival
1918 forces(ng) % Dissip_rollerG(i,j,2) = inival
1922#if defined ROLLER_SVENDSEN
1923 forces(ng) % Wave_break(i,j) = inival
1925 forces(ng) % Wave_breakG(i,j,1) = inival
1926 forces(ng) % Wave_breakG(i,j,2) = inival
1930#if defined WAVES_DSPR
1931 forces(ng) % Wave_ds(i,j) = inival
1932 forces(ng) % Wave_qp(i,j) = inival
1934 forces(ng) % Wave_dsG(i,j,1) = inival
1935 forces(ng) % Wave_dsG(i,j,2) = inival
1936 forces(ng) % Wave_qpG(i,j,1) = inival
1937 forces(ng) % Wave_qpG(i,j,2) = inival
1941#if defined WEC_ROLLER
1942 forces(ng) % rollA(i,j) = inival
1945#ifdef SPECTRUM_STOKES
1947 forces(ng) % spec_wn(i,j,k) = inival
1948 forces(ng) % spec_us(i,j,k) = inival
1949 forces(ng) % spec_vs(i,j,k) = inival
1955 forces(ng) % srflx(i,j) = inival
1957 forces(ng) % srflxG(i,j,1) = inival
1958 forces(ng) % srflxG(i,j,2) = inival
1961 forces(ng) % albedo(i,j) = inival
1963 forces(ng) % albedo_ice(i,j) = inival
1967# if defined RED_TIDE && defined DAILY_SHORTWAVE
1968 forces(ng) % srflx_avg(i,j) = inival
1969 forces(ng) % srflxG_avg(i,j,1) = inival
1970 forces(ng) % srflxG_avg(i,j,2) = inival
1973 forces(ng) % cloud(i,j) = inival
1975 forces(ng) % cloudG(i,j,1) = inival
1976 forces(ng) % cloudG(i,j,2) = inival
1979# if defined BULK_FLUXES || defined FRC_COUPLING
1980 forces(ng) % lhflx(i,j) = inival
1981 forces(ng) % lrflx(i,j) = inival
1982 forces(ng) % shflx(i,j) = inival
1984# if defined BULK_FLUXES || defined ECOSIM || \
1985 (defined shortwave && defined ana_srflux) || \
1986 defined spectral_light
1987 forces(ng) % Hair(i,j) = inival
1988 forces(ng) % Tair(i,j) = inival
1990# if defined BULK_FLUXES || defined ECOSIM || \
1991 defined spectral_light
1992 forces(ng) % Uwind(i,j) = inival
1993 forces(ng) % Vwind(i,j) = inival
1996 forces(ng) % rain(i,j) = inival
1998 forces(ng) % evap(i,j) = inival
2001# if defined ICE_MODEL && \
2002 defined ice_bulk_fluxes && defined bulk_fluxes
2003 forces(ng) % Qnet_ai(i,j) = inival
2004 forces(ng) % Qnet_ao(i,j) = inival
2005 forces(ng) % snow(i,j) = inival
2006 forces(ng) % srflx_ice(i,j) = inival
2007 forces(ng) % sustr_ai(i,j) = inival
2008 forces(ng) % svstr_ai(i,j) = inival
2009 forces(ng) % sustr_ao(i,j) = inival
2010 forces(ng) % svstr_ao(i,j) = inival
2012# if !defined LONGWAVE && defined BULK_FLUXES
2013 forces(ng) % lrflxG(i,j,1) = inival
2014 forces(ng) % lrflxG(i,j,2) = inival
2016# if defined BULK_FLUXES || defined ECOSIM || \
2017 (defined shortwave && defined ana_srflux) || \
2018 defined spectral_light
2019# ifndef ANA_HUMIDITY
2020 forces(ng) % HairG(i,j,1) = inival
2021 forces(ng) % HairG(i,j,2) = inival
2024# if defined BULK_FLUXES || defined ECOSIM
2026 forces(ng) % TairG(i,j,1) = inival
2027 forces(ng) % TairG(i,j,2) = inival
2030 forces(ng) % UwindG(i,j,1) = inival
2031 forces(ng) % UwindG(i,j,2) = inival
2032 forces(ng) % VwindG(i,j,1) = inival
2033 forces(ng) % VwindG(i,j,2) = inival
2036# if !defined ANA_RAIN && defined BULK_FLUXES
2037 forces(ng) % rainG(i,j,1) = inival
2038 forces(ng) % rainG(i,j,2) = inival
2041 forces(ng) % dqdt(i,j) = inival
2042 forces(ng) % sst(i,j) = inival
2044 forces(ng) % dqdtG(i,j,1) = inival
2045 forces(ng) % dqdtG(i,j,2) = inival
2046 forces(ng) % sstG(i,j,1) = inival
2047 forces(ng) % sstG(i,j,2) = inival
2050# if defined SALINITY && (defined SCORRECTION || defined SRELAXATION)
2051 forces(ng) % sss(i,j) = inival
2053 forces(ng) % sssG(i,j,1) = inival
2054 forces(ng) % sssG(i,j,2) = inival
2058 forces(ng) % stflux(i,j,itrc) = inival
2059# if !defined ANA_STFLUX || !defined ANA_SSFLUX || \
2061 forces(ng) % stfluxG(i,j,1,itrc) = inival
2062 forces(ng) % stfluxG(i,j,2,itrc) = inival
2064 forces(ng) % stflx(i,j,itrc) = inival
2065# ifdef ADJUST_STFLUX
2067 forces(ng) % tflux(i,j,k,1,itrc) = inival
2068 forces(ng) % tflux(i,j,k,2,itrc) = inival
2072 forces(ng) % btflux(i,j,itrc) = inival
2073# if !defined ANA_BTFLUX || !defined ANA_BSFLUX || \
2075 forces(ng) % btfluxG(i,j,1,itrc) = inival
2076 forces(ng) % btfluxG(i,j,2,itrc) = inival
2078 forces(ng) % btflx(i,j,itrc) = inival
2080# if defined ECOSIM || defined SPECTRAL_LIGHT
2082 forces(ng) % SpecIr(i,j,itrc) = inival
2083 forces(ng) % avcos(i,j,itrc) = inival
2091#if defined TANGENT || defined TL_IOMS
2095 IF ((model.eq.0).or.(model.eq.
itlm).or.(model.eq.
irpm))
THEN
2098# ifdef ADJUST_WSTRESS
2100 forces(ng) % tl_ustr(i,j,k,1) = inival
2101 forces(ng) % tl_ustr(i,j,k,2) = inival
2102 forces(ng) % tl_vstr(i,j,k,1) = inival
2103 forces(ng) % tl_vstr(i,j,k,2) = inival
2106 forces(ng) % tl_sustr(i,j) = inival
2107 forces(ng) % tl_svstr(i,j) = inival
2108 forces(ng) % tl_bustr(i,j) = inival
2109 forces(ng) % tl_bvstr(i,j) = inival
2114 forces(ng) % tl_srflx(i,j) = inival
2119 forces(ng) % tl_lhflx(i,j) = inival
2120 forces(ng) % tl_lrflx(i,j) = inival
2121 forces(ng) % tl_shflx(i,j) = inival
2123 forces(ng) % tl_evap(i,j) = inival
2129# ifdef ADJUST_STFLUX
2131 forces(ng) % tl_tflux(i,j,k,1,itrc) = inival
2132 forces(ng) % tl_tflux(i,j,k,2,itrc) = inival
2135 forces(ng) % tl_stflux(i,j,itrc) = inival
2136 forces(ng) % tl_stflx (i,j,itrc) = inival
2137 forces(ng) % tl_btflux(i,j,itrc) = inival
2138 forces(ng) % tl_btflx (i,j,itrc) = inival
2150 IF ((model.eq.0).or.(model.eq.
iadm))
THEN
2153# ifdef ADJUST_WSTRESS
2155 forces(ng) % ad_ustr(i,j,k,1) = inival
2156 forces(ng) % ad_ustr(i,j,k,2) = inival
2157 forces(ng) % ad_vstr(i,j,k,1) = inival
2158 forces(ng) % ad_vstr(i,j,k,2) = inival
2161 forces(ng) % ad_sustr(i,j) = inival
2162 forces(ng) % ad_svstr(i,j) = inival
2163 forces(ng) % ad_bustr(i,j) = inival
2164 forces(ng) % ad_bvstr(i,j) = inival
2165 forces(ng) % ad_bustr_sol(i,j) = inival
2166 forces(ng) % ad_bvstr_sol(i,j) = inival
2171 forces(ng) % ad_srflx(i,j) = inival
2176 forces(ng) % ad_lhflx(i,j) = inival
2177 forces(ng) % ad_lrflx(i,j) = inival
2178 forces(ng) % ad_shflx(i,j) = inival
2180 forces(ng) % ad_evap(i,j) = inival
2186# ifdef ADJUST_STFLUX
2188 forces(ng) % ad_tflux(i,j,k,1,itrc) = inival
2189 forces(ng) % ad_tflux(i,j,k,2,itrc) = inival
2192 forces(ng) % ad_stflx(i,j,itrc) = inival
2193 forces(ng) % ad_btflx(i,j,itrc) = inival
2201#if defined ADJUST_WSTRESS || defined ADJUST_STFLUX
2207# if defined FOUR_DVAR || defined IMPULSE
2208 IF (model.eq.0)
THEN
2209# ifdef ADJUST_WSTRESS
2212 forces(ng) % b_sustr(i,j) = inival
2213 forces(ng) % b_svstr(i,j) = inival
2215 forces(ng) % e_sustr(i,j) = inival
2216 forces(ng) % e_svstr(i,j) = inival
2218 forces(ng) % d_sustr(i,j,k) = inival
2219 forces(ng) % d_svstr(i,j,k) = inival
2225# if defined ADJUST_STFLUX && defined SOLVE3D
2229 forces(ng) % b_stflx(i,j,itrc) = inival
2231 forces(ng) % e_stflx(i,j,itrc) = inival
2233 forces(ng) % d_stflx(i,j,k,itrc) = inival