68 |
|
|
69 |
#ifdef USE_EXF_INTERPOLATION |
#ifdef USE_EXF_INTERPOLATION |
70 |
INTEGER gridNx, gridNy |
INTEGER gridNx, gridNy |
71 |
integer i |
INTEGER j |
72 |
|
_RL inp_lon0, inp_lat0, inp_dLon, inp_dLat |
73 |
#endif /* USE_EXF_INTERPOLATION */ |
#endif /* USE_EXF_INTERPOLATION */ |
74 |
integer iUnit |
integer iUnit |
75 |
|
|
629 |
exf_outscal_apressure= 1. _d 0 |
exf_outscal_apressure= 1. _d 0 |
630 |
|
|
631 |
#ifdef USE_EXF_INTERPOLATION |
#ifdef USE_EXF_INTERPOLATION |
632 |
ustress_lon0 = xgOrigin |
C-- set default input location to match (in case of simple Lat-Lonp grid) |
633 |
uwind_lon0 = xgOrigin |
C model grid cell-center position (leading to trivial interpolation) |
634 |
vstress_lon0 = xgOrigin + delX(1)*exf_half |
inp_lon0 = xgOrigin + delX(1)*exf_half |
635 |
hflux_lon0 = xgOrigin + delX(1)*exf_half |
inp_lat0 = ygOrigin + delY(1)*exf_half |
636 |
sflux_lon0 = xgOrigin + delX(1)*exf_half |
inp_dLon = delX(1) |
637 |
swflux_lon0 = xgOrigin + delX(1)*exf_half |
inp_dLat = delY(1) |
638 |
runoff_lon0 = xgOrigin + delX(1)*exf_half |
|
639 |
atemp_lon0 = xgOrigin + delX(1)*exf_half |
ustress_lon0 = inp_lon0 |
640 |
aqh_lon0 = xgOrigin + delX(1)*exf_half |
uwind_lon0 = inp_lon0 |
641 |
evap_lon0 = xgOrigin + delX(1)*exf_half |
vstress_lon0 = inp_lon0 |
642 |
precip_lon0 = xgOrigin + delX(1)*exf_half |
hflux_lon0 = inp_lon0 |
643 |
snowprecip_lon0= xgOrigin + delX(1)*exf_half |
sflux_lon0 = inp_lon0 |
644 |
vwind_lon0 = xgOrigin + delX(1)*exf_half |
swflux_lon0 = inp_lon0 |
645 |
wspeed_lon0 = xgOrigin + delX(1)*exf_half |
runoff_lon0 = inp_lon0 |
646 |
lwflux_lon0 = xgOrigin + delX(1)*exf_half |
atemp_lon0 = inp_lon0 |
647 |
swdown_lon0 = xgOrigin + delX(1)*exf_half |
aqh_lon0 = inp_lon0 |
648 |
lwdown_lon0 = xgOrigin + delX(1)*exf_half |
evap_lon0 = inp_lon0 |
649 |
apressure_lon0 = xgOrigin + delX(1)*exf_half |
precip_lon0 = inp_lon0 |
650 |
areamask_lon0 = xgOrigin + delX(1)*exf_half |
snowprecip_lon0= inp_lon0 |
651 |
vstress_lat0 = ygOrigin |
vwind_lon0 = inp_lon0 |
652 |
vwind_lat0 = ygOrigin |
wspeed_lon0 = inp_lon0 |
653 |
wspeed_lat0 = ygOrigin |
lwflux_lon0 = inp_lon0 |
654 |
ustress_lat0 = ygOrigin + delY(1)*exf_half |
swdown_lon0 = inp_lon0 |
655 |
hflux_lat0 = ygOrigin + delY(1)*exf_half |
lwdown_lon0 = inp_lon0 |
656 |
sflux_lat0 = ygOrigin + delY(1)*exf_half |
apressure_lon0 = inp_lon0 |
657 |
runoff_lat0 = ygOrigin + delY(1)*exf_half |
areamask_lon0 = inp_lon0 |
658 |
swflux_lat0 = ygOrigin + delY(1)*exf_half |
vstress_lat0 = inp_lat0 |
659 |
atemp_lat0 = ygOrigin + delY(1)*exf_half |
vwind_lat0 = inp_lat0 |
660 |
aqh_lat0 = ygOrigin + delY(1)*exf_half |
wspeed_lat0 = inp_lat0 |
661 |
evap_lat0 = ygOrigin + delY(1)*exf_half |
ustress_lat0 = inp_lat0 |
662 |
precip_lat0 = ygOrigin + delY(1)*exf_half |
hflux_lat0 = inp_lat0 |
663 |
snowprecip_lat0= ygOrigin + delY(1)*exf_half |
sflux_lat0 = inp_lat0 |
664 |
uwind_lat0 = ygOrigin + delY(1)*exf_half |
runoff_lat0 = inp_lat0 |
665 |
lwflux_lat0 = ygOrigin + delY(1)*exf_half |
swflux_lat0 = inp_lat0 |
666 |
swdown_lat0 = ygOrigin + delY(1)*exf_half |
atemp_lat0 = inp_lat0 |
667 |
lwdown_lat0 = ygOrigin + delY(1)*exf_half |
aqh_lat0 = inp_lat0 |
668 |
apressure_lat0 = ygOrigin + delY(1)*exf_half |
evap_lat0 = inp_lat0 |
669 |
areamask_lat0 = ygOrigin + delY(1)*exf_half |
precip_lat0 = inp_lat0 |
670 |
|
snowprecip_lat0= inp_lat0 |
671 |
|
uwind_lat0 = inp_lat0 |
672 |
|
lwflux_lat0 = inp_lat0 |
673 |
|
swdown_lat0 = inp_lat0 |
674 |
|
lwdown_lat0 = inp_lat0 |
675 |
|
apressure_lat0 = inp_lat0 |
676 |
|
areamask_lat0 = inp_lat0 |
677 |
ustress_nlon = gridNx |
ustress_nlon = gridNx |
678 |
ustress_nlat = gridNy |
ustress_nlat = gridNy |
679 |
vstress_nlon = gridNx |
vstress_nlon = gridNx |
712 |
apressure_nlat = gridNy |
apressure_nlat = gridNy |
713 |
areamask_nlon = gridNx |
areamask_nlon = gridNx |
714 |
areamask_nlat = gridNy |
areamask_nlat = gridNy |
715 |
ustress_lon_inc = delX(1) |
ustress_lon_inc = inp_dLon |
716 |
vstress_lon_inc = delX(1) |
vstress_lon_inc = inp_dLon |
717 |
hflux_lon_inc = delX(1) |
hflux_lon_inc = inp_dLon |
718 |
sflux_lon_inc = delX(1) |
sflux_lon_inc = inp_dLon |
719 |
swflux_lon_inc = delX(1) |
swflux_lon_inc = inp_dLon |
720 |
runoff_lon_inc = delX(1) |
runoff_lon_inc = inp_dLon |
721 |
atemp_lon_inc = delX(1) |
atemp_lon_inc = inp_dLon |
722 |
aqh_lon_inc = delX(1) |
aqh_lon_inc = inp_dLon |
723 |
evap_lon_inc = delX(1) |
evap_lon_inc = inp_dLon |
724 |
precip_lon_inc = delX(1) |
precip_lon_inc = inp_dLon |
725 |
snowprecip_lon_inc= delX(1) |
snowprecip_lon_inc= inp_dLon |
726 |
uwind_lon_inc = delX(1) |
uwind_lon_inc = inp_dLon |
727 |
vwind_lon_inc = delX(1) |
vwind_lon_inc = inp_dLon |
728 |
wspeed_lon_inc = delX(1) |
wspeed_lon_inc = inp_dLon |
729 |
lwflux_lon_inc = delX(1) |
lwflux_lon_inc = inp_dLon |
730 |
swdown_lon_inc = delX(1) |
swdown_lon_inc = inp_dLon |
731 |
lwdown_lon_inc = delX(1) |
lwdown_lon_inc = inp_dLon |
732 |
apressure_lon_inc = delX(1) |
apressure_lon_inc = inp_dLon |
733 |
areamask_lon_inc = delX(1) |
areamask_lon_inc = inp_dLon |
734 |
climsst_lon0 = xgOrigin + delX(1)*exf_half |
|
735 |
climsss_lon0 = xgOrigin + delX(1)*exf_half |
climsst_lon0 = inp_lon0 |
736 |
climsst_lat0 = ygOrigin + delY(1)*exf_half |
climsss_lon0 = inp_lon0 |
737 |
climsss_lat0 = ygOrigin + delY(1)*exf_half |
climustr_lon0 = inp_lon0 |
738 |
|
climvstr_lon0 = inp_lon0 |
739 |
|
climsst_lat0 = inp_lat0 |
740 |
|
climsss_lat0 = inp_lat0 |
741 |
|
climustr_lat0 = inp_lat0 |
742 |
|
climvstr_lat0 = inp_lat0 |
743 |
climsst_nlon = gridNx |
climsst_nlon = gridNx |
744 |
climsst_nlat = gridNy |
climsst_nlat = gridNy |
745 |
climsss_nlon = gridNx |
climsss_nlon = gridNx |
746 |
climsss_nlat = gridNy |
climsss_nlat = gridNy |
|
climsst_lon_inc = delX(1) |
|
|
climsss_lon_inc = delX(1) |
|
|
climustr_lon0 = xgOrigin |
|
|
climvstr_lon0 = xgOrigin + delX(1)*exf_half |
|
|
climustr_lat0 = ygOrigin + delY(1)*exf_half |
|
|
climvstr_lat0 = ygOrigin |
|
747 |
climustr_nlon = gridNx |
climustr_nlon = gridNx |
748 |
climustr_nlat = gridNy |
climustr_nlat = gridNy |
749 |
climvstr_nlon = gridNx |
climvstr_nlon = gridNx |
750 |
climvstr_nlat = gridNy |
climvstr_nlat = gridNy |
751 |
climustr_lon_inc= delX(1) |
climsst_lon_inc = inp_dLon |
752 |
climvstr_lon_inc= delX(1) |
climsss_lon_inc = inp_dLon |
753 |
|
climustr_lon_inc= inp_dLon |
754 |
DO i=1,MAX_LAT_INC |
climvstr_lon_inc= inp_dLon |
755 |
IF (i.LT.gridNy) THEN |
|
756 |
vstress_lat_inc(i) = delY(i) |
DO j=1,MAX_LAT_INC |
757 |
vwind_lat_inc(i) = delY(i) |
IF (j.LT.gridNy) THEN |
758 |
wspeed_lat_inc(i) = delY(i) |
inp_dLat = (delY(j) + delY(j+1))*exf_half |
759 |
ustress_lat_inc(i) = (delY(i) + delY(i))*exf_half |
ELSE |
760 |
hflux_lat_inc(i) = (delY(i) + delY(i))*exf_half |
inp_dLat = 0. |
761 |
sflux_lat_inc(i) = (delY(i) + delY(i))*exf_half |
ENDIF |
762 |
swflux_lat_inc(i) = (delY(i) + delY(i))*exf_half |
ustress_lat_inc(j) = inp_dLat |
763 |
runoff_lat_inc(i) = (delY(i) + delY(i))*exf_half |
vstress_lat_inc(j) = inp_dLat |
764 |
atemp_lat_inc(i) = (delY(i) + delY(i))*exf_half |
hflux_lat_inc(j) = inp_dLat |
765 |
aqh_lat_inc(i) = (delY(i) + delY(i))*exf_half |
sflux_lat_inc(j) = inp_dLat |
766 |
evap_lat_inc(i) = (delY(i) + delY(i))*exf_half |
swflux_lat_inc(j) = inp_dLat |
767 |
precip_lat_inc(i) = (delY(i) + delY(i))*exf_half |
runoff_lat_inc(j) = inp_dLat |
768 |
snowprecip_lat_inc(i)= (delY(i) + delY(i))*exf_half |
atemp_lat_inc(j) = inp_dLat |
769 |
uwind_lat_inc(i) = (delY(i) + delY(i))*exf_half |
aqh_lat_inc(j) = inp_dLat |
770 |
lwflux_lat_inc(i) = (delY(i) + delY(i))*exf_half |
evap_lat_inc(j) = inp_dLat |
771 |
swdown_lat_inc(i) = (delY(i) + delY(i))*exf_half |
precip_lat_inc(j) = inp_dLat |
772 |
lwdown_lat_inc(i) = (delY(i) + delY(i))*exf_half |
snowprecip_lat_inc(j)= inp_dLat |
773 |
apressure_lat_inc(i) = (delY(i) + delY(i))*exf_half |
uwind_lat_inc(j) = inp_dLat |
774 |
areamask_lat_inc(i) = (delY(i) + delY(i))*exf_half |
vwind_lat_inc(j) = inp_dLat |
775 |
climsst_lat_inc(i) = (delY(i) + delY(i))*exf_half |
wspeed_lat_inc(j) = inp_dLat |
776 |
climsss_lat_inc(i) = (delY(i) + delY(i))*exf_half |
lwflux_lat_inc(j) = inp_dLat |
777 |
climustr_lat_inc(i) = (delY(i) + delY(i))*exf_half |
swdown_lat_inc(j) = inp_dLat |
778 |
climvstr_lat_inc(i) = delY(i) |
lwdown_lat_inc(j) = inp_dLat |
779 |
ELSE |
apressure_lat_inc(j) = inp_dLat |
780 |
ustress_lat_inc(i) = 0. |
areamask_lat_inc(j) = inp_dLat |
781 |
vstress_lat_inc(i) = 0. |
climsst_lat_inc(j) = inp_dLat |
782 |
hflux_lat_inc(i) = 0. |
climsss_lat_inc(j) = inp_dLat |
783 |
sflux_lat_inc(i) = 0. |
climustr_lat_inc(j) = inp_dLat |
784 |
swflux_lat_inc(i) = 0. |
climvstr_lat_inc(j) = inp_dLat |
|
runoff_lat_inc(i) = 0. |
|
|
atemp_lat_inc(i) = 0. |
|
|
aqh_lat_inc(i) = 0. |
|
|
evap_lat_inc(i) = 0. |
|
|
precip_lat_inc(i) = 0. |
|
|
snowprecip_lat_inc(i)= 0. |
|
|
uwind_lat_inc(i) = 0. |
|
|
vwind_lat_inc(i) = 0. |
|
|
wspeed_lat_inc(i) = 0. |
|
|
lwflux_lat_inc(i) = 0. |
|
|
swdown_lat_inc(i) = 0. |
|
|
lwdown_lat_inc(i) = 0. |
|
|
apressure_lat_inc(i) = 0. |
|
|
areamask_lat_inc(i) = 0. |
|
|
climsst_lat_inc(i) = 0. |
|
|
climsss_lat_inc(i) = 0. |
|
|
climustr_lat_inc(i) = 0. |
|
|
climvstr_lat_inc(i) = 0. |
|
|
ENDIF |
|
785 |
ENDDO |
ENDDO |
786 |
|
|
787 |
ustress_interpMethod = 12 |
ustress_interpMethod = 12 |