- Timestamp:
- 2019-12-10T15:44:23+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r12072_MERGE_OPTION2_2019/src/OCE/SBC/fldread.F90
r11536 r12154 167 167 IF( PRESENT(kit) ) ll_firstcall = ll_firstcall .and. kit == 1 168 168 169 IF 169 IF( nn_components == jp_iam_sas ) THEN ; it_offset = nn_fsbc 170 170 ELSE ; it_offset = 0 171 171 ENDIF … … 389 389 ENDIF 390 390 ! 391 IF 391 IF( sdjf%cltype(1:4) == 'week' ) THEN 392 392 isec_week = isec_week + ksec_week( sdjf%cltype(6:8) ) ! second since the beginning of the week 393 393 llprevmth = isec_week > nsec_month ! longer time since the beginning of the week than the month … … 464 464 ENDIF 465 465 ! 466 IF 466 IF( nn_components == jp_iam_sas ) THEN ; it_offset = nn_fsbc 467 467 ELSE ; it_offset = 0 468 468 ENDIF … … 656 656 ENDIF 657 657 CASE DEFAULT 658 IF 658 IF(lk_c1d .AND. lmoor ) THEN 659 659 IF( sdjf%ln_tint ) THEN 660 660 CALL iom_get( sdjf%num, jpdom_unknown, sdjf%clvar, sdjf%fdta(2,2,:,2), sdjf%nrec_a(1) ) … … 1071 1071 imonth = kmonth 1072 1072 iday = kday 1073 IF 1073 IF( sdjf%cltype(1:4) == 'week' ) THEN ! find the day of the beginning of the week 1074 1074 isec_week = ksec_week( sdjf%cltype(6:8) )- (86400 * 8 ) 1075 1075 llprevmth = isec_week > nsec_month ! longer time since beginning of the week than the month … … 1080 1080 ENDIF 1081 1081 ELSE ! use current day values 1082 IF 1082 IF( sdjf%cltype(1:4) == 'week' ) THEN ! find the day of the beginning of the week 1083 1083 isec_week = ksec_week( sdjf%cltype(6:8) ) ! second since the beginning of the week 1084 1084 llprevmth = isec_week > nsec_month ! longer time since beginning of the week than the month … … 1318 1318 1319 1319 !! get dimensions 1320 IF ( SIZE(sd%fnow, 3) > 1 ) THEN 1320 !!GS: we consider 2D data as 3D data with vertical dim size = 1 1321 !IF( SIZE(sd%fnow, 3) > 1 ) THEN 1322 IF( SIZE(sd%fnow, 3) > 0 ) THEN 1321 1323 ALLOCATE( ddims(4) ) 1322 1324 ELSE … … 1331 1333 1332 1334 CALL iom_open ( sd%wgtname, inum ) ! interpolation weights 1333 IF 1335 IF( inum > 0 ) THEN 1334 1336 1335 1337 !! determine whether we have an east-west cyclic grid … … 1640 1642 1641 1643 ref_wgts(kw)%fly_dta(:,:,:) = 0.0 1642 SELECT CASE( SIZE(ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:),3) ) 1643 CASE(1) 1644 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,1), nrec, rec1, recn) 1645 CASE DEFAULT 1644 !!GS: we consider 2D data as 3D data with vertical dim size = 1 1645 !SELECT CASE( SIZE(ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:),3) ) 1646 !CASE(1) 1647 ! CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,1), nrec, rec1, recn) 1648 !CASE DEFAULT 1646 1649 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%fly_dta(jpi1:jpi2,jpj1:jpj2,:), nrec, rec1, recn) 1647 END SELECT1650 !END SELECT 1648 1651 ENDIF 1649 1652 … … 1663 1666 END DO 1664 1667 1665 IF 1668 IF(ref_wgts(kw)%numwgt .EQ. 16) THEN 1666 1669 1667 1670 !! fix up halo points that we couldnt read from file … … 1689 1692 IF( jpi1 == 2 ) THEN 1690 1693 rec1(1) = ref_wgts(kw)%ddims(1) - ref_wgts(kw)%overlap 1691 SELECT CASE( SIZE( ref_wgts(kw)%col(:,jpj1:jpj2,:),3) ) 1692 CASE(1) 1693 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,1), nrec, rec1, recn) 1694 CASE DEFAULT 1694 !!GS: we consider 2D data as 3D data with vertical dim size = 1 1695 !SELECT CASE( SIZE( ref_wgts(kw)%col(:,jpj1:jpj2,:),3) ) 1696 !CASE(1) 1697 ! CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,1), nrec, rec1, recn) 1698 !CASE DEFAULT 1695 1699 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,:), nrec, rec1, recn) 1696 END SELECT1700 !END SELECT 1697 1701 ref_wgts(kw)%fly_dta(jpi1-1,jpj1:jpj2,:) = ref_wgts(kw)%col(1,jpj1:jpj2,:) 1698 1702 ENDIF 1699 1703 IF( jpi2 + jpimin - 1 == ref_wgts(kw)%ddims(1)+1 ) THEN 1700 1704 rec1(1) = 1 + ref_wgts(kw)%overlap 1701 SELECT CASE( SIZE( ref_wgts(kw)%col(:,jpj1:jpj2,:),3) ) 1702 CASE(1) 1703 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,1), nrec, rec1, recn) 1704 CASE DEFAULT 1705 !!GS: we consider 2D data as 3D data with vertical dim size = 1 1706 !SELECT CASE( SIZE( ref_wgts(kw)%col(:,jpj1:jpj2,:),3) ) 1707 !CASE(1) 1708 ! CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,1), nrec, rec1, recn) 1709 !CASE DEFAULT 1705 1710 CALL iom_get( num, jpdom_unknown, clvar, ref_wgts(kw)%col(:,jpj1:jpj2,:), nrec, rec1, recn) 1706 END SELECT1711 !END SELECT 1707 1712 ref_wgts(kw)%fly_dta(jpi2+1,jpj1:jpj2,:) = ref_wgts(kw)%col(1,jpj1:jpj2,:) 1708 1713 ENDIF … … 1746 1751 END DO 1747 1752 ! 1748 END 1753 ENDIF 1749 1754 ! 1750 1755 END SUBROUTINE fld_interp
Note: See TracChangeset
for help on using the changeset viewer.