152 |
cph index 32 reserved for precip (atmos. state) |
cph index 32 reserved for precip (atmos. state) |
153 |
cph index 33 reserved for swflux (atmos. state) |
cph index 33 reserved for swflux (atmos. state) |
154 |
cph index 34 reserved for swdown (atmos. state) |
cph index 34 reserved for swdown (atmos. state) |
155 |
|
cph 35 lwflux |
156 |
|
cph 36 lwdown |
157 |
|
cph 37 evap |
158 |
|
cph 38 snowprecip |
159 |
|
cph 39 apressure |
160 |
|
cph 40 runoff |
161 |
cph) |
cph) |
162 |
|
|
163 |
c---------------------------------------------------------------------- |
c---------------------------------------------------------------------- |
825 |
#endif /* ALLOW_SWDOWN_CONTROL */ |
#endif /* ALLOW_SWDOWN_CONTROL */ |
826 |
|
|
827 |
c---------------------------------------------------------------------- |
c---------------------------------------------------------------------- |
828 |
|
c-- |
829 |
|
#ifdef ALLOW_LWFLUX_CONTROL |
830 |
|
c-- Atmos. lwflux |
831 |
|
|
832 |
|
# ifdef ALLOW_CAL |
833 |
|
call cal_FullDate( xx_lwfluxstartdate1, xx_lwfluxstartdate2, |
834 |
|
& xx_lwfluxstartdate , mythid ) |
835 |
|
call cal_TimePassed( xx_lwfluxstartdate, modelstartdate, |
836 |
|
& difftime, mythid ) |
837 |
|
call cal_ToSeconds ( difftime, diffsecs, mythid ) |
838 |
|
if ( xx_lwfluxperiod .EQ. 0 ) then |
839 |
|
startrec=1 |
840 |
|
endrec=12 |
841 |
|
else |
842 |
|
startrec = int((modelstart + startTime - diffsecs)/ |
843 |
|
& xx_lwfluxperiod) + 1 |
844 |
|
endrec = int((modelend + startTime - diffsecs + modelstep/2)/ |
845 |
|
& xx_lwfluxperiod) + 2 |
846 |
|
endif |
847 |
|
# else |
848 |
|
startrec = 1 |
849 |
|
endrec = 1 |
850 |
|
# endif |
851 |
|
diffrec = endrec - startrec + 1 |
852 |
|
call ctrl_init_ctrlvar ( |
853 |
|
& xx_lwflux_file, 35, 135, diffrec, startrec, endrec, |
854 |
|
& snx, sny, 1, 'c', 'xy', mythid ) |
855 |
|
|
856 |
|
#endif /* ALLOW_LWFLUX_CONTROL */ |
857 |
|
|
858 |
|
c---------------------------------------------------------------------- |
859 |
|
c-- |
860 |
|
#ifdef ALLOW_LWDOWN_CONTROL |
861 |
|
c-- Atmos. lwdown |
862 |
|
|
863 |
|
# ifdef ALLOW_CAL |
864 |
|
call cal_FullDate( xx_lwdownstartdate1, xx_lwdownstartdate2, |
865 |
|
& xx_lwdownstartdate , mythid ) |
866 |
|
call cal_TimePassed( xx_lwdownstartdate, modelstartdate, |
867 |
|
& difftime, mythid ) |
868 |
|
call cal_ToSeconds ( difftime, diffsecs, mythid ) |
869 |
|
if ( xx_lwdownperiod .EQ. 0 ) then |
870 |
|
startrec=1 |
871 |
|
endrec=12 |
872 |
|
else |
873 |
|
startrec = int((modelstart + startTime - diffsecs)/ |
874 |
|
& xx_lwdownperiod) + 1 |
875 |
|
endrec = int((modelend + startTime - diffsecs + modelstep/2)/ |
876 |
|
& xx_lwdownperiod) + 2 |
877 |
|
endif |
878 |
|
# else |
879 |
|
startrec = 1 |
880 |
|
endrec = 1 |
881 |
|
# endif |
882 |
|
diffrec = endrec - startrec + 1 |
883 |
|
call ctrl_init_ctrlvar ( |
884 |
|
& xx_lwdown_file, 36, 136, diffrec, startrec, endrec, |
885 |
|
& snx, sny, 1, 'c', 'xy', mythid ) |
886 |
|
|
887 |
|
#endif /* ALLOW_LWDOWN_CONTROL */ |
888 |
|
|
889 |
|
c---------------------------------------------------------------------- |
890 |
|
c-- |
891 |
|
#ifdef ALLOW_EVAP_CONTROL |
892 |
|
c-- Atmos. evap |
893 |
|
|
894 |
|
# ifdef ALLOW_CAL |
895 |
|
call cal_FullDate( xx_evapstartdate1, xx_evapstartdate2, |
896 |
|
& xx_evapstartdate , mythid ) |
897 |
|
call cal_TimePassed( xx_evapstartdate, modelstartdate, |
898 |
|
& difftime, mythid ) |
899 |
|
call cal_ToSeconds ( difftime, diffsecs, mythid ) |
900 |
|
if ( xx_evapperiod .EQ. 0 ) then |
901 |
|
startrec=1 |
902 |
|
endrec=12 |
903 |
|
else |
904 |
|
startrec = int((modelstart + startTime - diffsecs)/ |
905 |
|
& xx_evapperiod) + 1 |
906 |
|
endrec = int((modelend + startTime - diffsecs + modelstep/2)/ |
907 |
|
& xx_evapperiod) + 2 |
908 |
|
endif |
909 |
|
# else |
910 |
|
startrec = 1 |
911 |
|
endrec = 1 |
912 |
|
# endif |
913 |
|
diffrec = endrec - startrec + 1 |
914 |
|
call ctrl_init_ctrlvar ( |
915 |
|
& xx_evap_file, 37, 137, diffrec, startrec, endrec, |
916 |
|
& snx, sny, 1, 'c', 'xy', mythid ) |
917 |
|
|
918 |
|
#endif /* ALLOW_EVAP_CONTROL */ |
919 |
|
|
920 |
|
c---------------------------------------------------------------------- |
921 |
|
c-- |
922 |
|
#ifdef ALLOW_SNOWPRECIP_CONTROL |
923 |
|
c-- Atmos. snowprecip |
924 |
|
|
925 |
|
# ifdef ALLOW_CAL |
926 |
|
call cal_FullDate( xx_snowprecipstartdate1, |
927 |
|
& xx_snowprecipstartdate2, xx_snowprecipstartdate , mythid ) |
928 |
|
call cal_TimePassed( xx_snowprecipstartdate, modelstartdate, |
929 |
|
& difftime, mythid ) |
930 |
|
call cal_ToSeconds ( difftime, diffsecs, mythid ) |
931 |
|
if ( xx_snowprecipperiod .EQ. 0 ) then |
932 |
|
startrec=1 |
933 |
|
endrec=12 |
934 |
|
else |
935 |
|
startrec = int((modelstart + startTime - diffsecs)/ |
936 |
|
& xx_snowprecipperiod) + 1 |
937 |
|
endrec = int((modelend + startTime - diffsecs + modelstep/2)/ |
938 |
|
& xx_snowprecipperiod) + 2 |
939 |
|
endif |
940 |
|
# else |
941 |
|
startrec = 1 |
942 |
|
endrec = 1 |
943 |
|
# endif |
944 |
|
diffrec = endrec - startrec + 1 |
945 |
|
call ctrl_init_ctrlvar ( |
946 |
|
& xx_snowprecip_file, 38, 138, diffrec, startrec, endrec, |
947 |
|
& snx, sny, 1, 'c', 'xy', mythid ) |
948 |
|
|
949 |
|
#endif /* ALLOW_SNOWPRECIP_CONTROL */ |
950 |
|
|
951 |
|
c---------------------------------------------------------------------- |
952 |
|
c-- |
953 |
|
#ifdef ALLOW_APRESSURE_CONTROL |
954 |
|
c-- Atmos. apressure |
955 |
|
|
956 |
|
# ifdef ALLOW_CAL |
957 |
|
call cal_FullDate( xx_apressurestartdate1, |
958 |
|
& xx_apressurestartdate2, xx_apressurestartdate , mythid ) |
959 |
|
call cal_TimePassed( xx_apressurestartdate, modelstartdate, |
960 |
|
& difftime, mythid ) |
961 |
|
call cal_ToSeconds ( difftime, diffsecs, mythid ) |
962 |
|
if ( xx_apressureperiod .EQ. 0 ) then |
963 |
|
startrec=1 |
964 |
|
endrec=12 |
965 |
|
else |
966 |
|
startrec = int((modelstart + startTime - diffsecs)/ |
967 |
|
& xx_apressureperiod) + 1 |
968 |
|
endrec = int((modelend + startTime - diffsecs + modelstep/2)/ |
969 |
|
& xx_apressureperiod) + 2 |
970 |
|
endif |
971 |
|
# else |
972 |
|
startrec = 1 |
973 |
|
endrec = 1 |
974 |
|
# endif |
975 |
|
diffrec = endrec - startrec + 1 |
976 |
|
call ctrl_init_ctrlvar ( |
977 |
|
& xx_apressure_file, 39, 139, diffrec, startrec, endrec, |
978 |
|
& snx, sny, 1, 'c', 'xy', mythid ) |
979 |
|
|
980 |
|
#endif /* ALLOW_APRESSURE_CONTROL */ |
981 |
|
|
982 |
|
c---------------------------------------------------------------------- |
983 |
|
c-- |
984 |
|
#ifdef ALLOW_RUNOFF_CONTROL |
985 |
|
c-- Atmos. runoff |
986 |
|
startrec = 1 |
987 |
|
endrec = 1 |
988 |
|
diffrec = endrec - startrec + 1 |
989 |
|
call ctrl_init_ctrlvar ( |
990 |
|
& xx_runoff_file, 40, 140, diffrec, startrec, endrec, |
991 |
|
& snx, sny, 1, 'c', 'xy', mythid ) |
992 |
|
#endif /* ALLOW_RUNOFF_CONTROL */ |
993 |
|
|
994 |
|
c---------------------------------------------------------------------- |
995 |
c---------------------------------------------------------------------- |
c---------------------------------------------------------------------- |
996 |
|
|
997 |
call ctrl_init_wet( mythid ) |
call ctrl_init_wet( mythid ) |
1016 |
wswdown (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
wswdown (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
1017 |
wuwind (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
wuwind (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
1018 |
wvwind (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
wvwind (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
1019 |
|
wlwflux (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
1020 |
|
wlwdown (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
1021 |
|
wevap (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
1022 |
|
wsnowprecip(i,j,bi,bj) = maskC(i,j,1,bi,bj) |
1023 |
|
wapressure(i,j,bi,bj) = maskC(i,j,1,bi,bj) |
1024 |
|
wrunoff (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
1025 |
wsst (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
wsst (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
1026 |
wsss (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
wsss (i,j,bi,bj) = maskC(i,j,1,bi,bj) |
1027 |
#endif |
#endif |