6 |
|
|
7 |
subroutine ctrl_get_gen( |
subroutine ctrl_get_gen( |
8 |
I xx_gen_file, xx_genstartdate, xx_genperiod, |
I xx_gen_file, xx_genstartdate, xx_genperiod, |
9 |
I genmask, genfld, xx_gen0, xx_gen1, xx_gen_dummy, |
I genmask, genfld, xx_gen0, xx_gen1, xx_gen_dummy, |
10 |
I xx_gen_remo_intercept, xx_gen_remo_slope, |
I xx_gen_remo_intercept, xx_gen_remo_slope, |
11 |
I mytime, myiter, mythid |
I mytime, myiter, mythid |
12 |
& ) |
& ) |
104 |
|
|
105 |
if (optimcycle .ge. 0) then |
if (optimcycle .ge. 0) then |
106 |
ilgen=ilnblnk( xx_gen_file ) |
ilgen=ilnblnk( xx_gen_file ) |
107 |
write(fnamegen(1:80),'(2a,i10.10)') |
write(fnamegen(1:80),'(2a,i10.10)') |
108 |
& xx_gen_file(1:ilgen), '.', optimcycle |
& xx_gen_file(1:ilgen), '.', optimcycle |
109 |
endif |
endif |
110 |
|
|
139 |
& doglobalread, ladinit, optimcycle, |
& doglobalread, ladinit, optimcycle, |
140 |
& mythid, xx_gen_dummy ) |
& mythid, xx_gen_dummy ) |
141 |
#ifdef ALLOW_CTRL_SMOOTH |
#ifdef ALLOW_CTRL_SMOOTH |
142 |
if ( xx_gen_file .EQ. xx_tauu_file .OR. |
if ( xx_gen_file .EQ. xx_tauu_file .OR. |
143 |
& xx_gen_file .EQ. xx_tauv_file ) |
& xx_gen_file .EQ. xx_tauv_file ) |
144 |
& call ctrl_smooth(xx_gen1,genmask) |
& call ctrl_smooth(xx_gen1,genmask) |
145 |
#endif |
#endif |
160 |
& doglobalread, ladinit, optimcycle, |
& doglobalread, ladinit, optimcycle, |
161 |
& mythid, xx_gen_dummy ) |
& mythid, xx_gen_dummy ) |
162 |
#ifdef ALLOW_CTRL_SMOOTH |
#ifdef ALLOW_CTRL_SMOOTH |
163 |
if ( xx_gen_file .EQ. xx_tauu_file .OR. |
if ( xx_gen_file .EQ. xx_tauu_file .OR. |
164 |
& xx_gen_file .EQ. xx_tauv_file ) |
& xx_gen_file .EQ. xx_tauv_file ) |
165 |
& call ctrl_smooth(xx_gen1,genmask) |
& call ctrl_smooth(xx_gen1,genmask) |
166 |
#endif |
#endif |
178 |
cph( |
cph( |
179 |
cph this flag ported from the SIO code |
cph this flag ported from the SIO code |
180 |
cph Initial wind stress adjustments are too vigorous. |
cph Initial wind stress adjustments are too vigorous. |
181 |
if ( gencount0 .LE. 2 .AND. |
if ( gencount0 .LE. 2 .AND. |
182 |
& ( xx_gen_file .EQ. xx_tauu_file .OR. |
& ( xx_gen_file .EQ. xx_tauu_file .OR. |
183 |
& xx_gen_file .EQ. xx_tauv_file ) .AND. |
& xx_gen_file .EQ. xx_tauv_file ) .AND. |
184 |
& ( xx_genperiod .NE. 0 ) ) then |
& ( xx_genperiod .NE. 0 ) ) then |
207 |
genfld(i,j,bi,bj) = genfld (i,j,bi,bj) |
genfld(i,j,bi,bj) = genfld (i,j,bi,bj) |
208 |
& + gensign*genfac *xx_gen0(i,j,bi,bj) |
& + gensign*genfac *xx_gen0(i,j,bi,bj) |
209 |
& + gensign*(1. _d 0 - genfac)*xx_gen1(i,j,bi,bj) |
& + gensign*(1. _d 0 - genfac)*xx_gen1(i,j,bi,bj) |
210 |
genfld(i,j,bi,bj) = |
genfld(i,j,bi,bj) = |
211 |
& genmask(i,j,k,bi,bj)*( genfld (i,j,bi,bj) - |
& genmask(i,j,k,bi,bj)*( genfld (i,j,bi,bj) - |
212 |
& ( xx_gen_remo_intercept + |
& ( xx_gen_remo_intercept + |
213 |
& xx_gen_remo_slope*(mytime-starttime) ) ) |
& xx_gen_remo_slope*(mytime-starttime) ) ) |