5 |
|
|
6 |
subroutine exf_set_gen( |
subroutine exf_set_gen( |
7 |
& genfile, genstartdate, genperiod, |
& genfile, genstartdate, genperiod, |
|
& genstartdate1, genstartdate2, |
|
8 |
& exf_inscal_gen, genremove_intercept, genremove_slope, |
& exf_inscal_gen, genremove_intercept, genremove_slope, |
9 |
& genfld, gen0, gen1, genmask, |
& genfld, gen0, gen1, genmask, |
10 |
#ifdef USE_EXF_INTERPOLATION |
#ifdef USE_EXF_INTERPOLATION |
48 |
|
|
49 |
c == routine arguments == |
c == routine arguments == |
50 |
|
|
|
integer genstartdate1, genstartdate2 |
|
51 |
_RL genstartdate, genperiod |
_RL genstartdate, genperiod |
52 |
_RL exf_inscal_gen |
_RL exf_inscal_gen |
53 |
_RL genremove_intercept, genremove_slope |
_RL genremove_intercept, genremove_slope |
115 |
c get record numbers and interpolation factor for gen |
c get record numbers and interpolation factor for gen |
116 |
call exf_GetFFieldRec( |
call exf_GetFFieldRec( |
117 |
I genstartdate, genperiod |
I genstartdate, genperiod |
|
I , genstartdate1, genstartdate2 |
|
118 |
I , useExfYearlyFields |
I , useExfYearlyFields |
119 |
O , fac, first, changed |
O , fac, first, changed |
120 |
O , count0, count1, year0, year1 |
O , count0, count1, year0, year1 |
124 |
endif |
endif |
125 |
|
|
126 |
if ( first ) then |
if ( first ) then |
127 |
if (useExfYearlyFields.and.genperiod.gt.0) then |
call exf_GetYearlyFieldName( |
128 |
C Complete filename with YR or _YEAR extension |
I useExfYearlyFields, twoDigitYear, genperiod, year0, |
129 |
il = ilnblnk( genfile ) |
I genfile, |
130 |
if (twoDigitYear) then |
O genfile0, |
131 |
if (year0.ge.2000) then |
I mytime, myiter, mythid ) |
|
write(genfile0(1:128),'(a,i2.2)') |
|
|
& genfile(1:il),year0-2000 |
|
|
else |
|
|
write(genfile0(1:128),'(a,i2.2)') |
|
|
& genfile(1:il),year0-1900 |
|
|
endif |
|
|
else |
|
|
write(genfile0(1:128),'(2a,i4.4)') |
|
|
& genfile(1:il),'_',year0 |
|
|
endif |
|
|
else |
|
|
genfile0 = genfile |
|
|
endif |
|
132 |
|
|
133 |
#ifdef USE_EXF_INTERPOLATION |
#ifdef USE_EXF_INTERPOLATION |
134 |
call exf_interp( genfile0, exf_iprec |
call exf_interp( genfile0, exf_iprec |
155 |
if (( first ) .or. ( changed )) then |
if (( first ) .or. ( changed )) then |
156 |
call exf_SwapFFields( gen0, gen1, mythid ) |
call exf_SwapFFields( gen0, gen1, mythid ) |
157 |
|
|
158 |
if (useExfYearlyFields.and.genperiod.gt.0) then |
call exf_GetYearlyFieldName( |
159 |
C Complete filename with YR or _YEAR extension |
I useExfYearlyFields, twoDigitYear, genperiod, year1, |
160 |
il = ilnblnk( genfile ) |
I genfile, |
161 |
if (twoDigitYear) then |
O genfile1, |
162 |
if (year1.ge.2000) then |
I mytime, myiter, mythid ) |
163 |
write(genfile1(1:128),'(a,i2.2)') |
|
|
& genfile(1:il),year1-2000 |
|
|
else |
|
|
write(genfile1(1:128),'(a,i2.2)') |
|
|
& genfile(1:il),year1-1900 |
|
|
endif |
|
|
else |
|
|
write(genfile1(1:128),'(2a,i4.4)') |
|
|
& genfile(1:il),'_',year1 |
|
|
endif |
|
|
else |
|
|
genfile1 = genfile |
|
|
endif |
|
164 |
#ifdef USE_EXF_INTERPOLATION |
#ifdef USE_EXF_INTERPOLATION |
165 |
call exf_interp( genfile1, exf_iprec |
call exf_interp( genfile1, exf_iprec |
166 |
& , gen1, count1, gen_xout, gen_yout |
& , gen1, count1, gen_xout, gen_yout |