| 1 | !WRF:MEDIATION_LAYER:INTERPOLATIONFUNCTION |
|---|
| 2 | ! |
|---|
| 3 | |
|---|
| 4 | SUBROUTINE interp_fcn ( cfld, & ! CD field |
|---|
| 5 | cids, cide, ckds, ckde, cjds, cjde, & |
|---|
| 6 | cims, cime, ckms, ckme, cjms, cjme, & |
|---|
| 7 | cits, cite, ckts, ckte, cjts, cjte, & |
|---|
| 8 | nfld, & ! ND field |
|---|
| 9 | nids, nide, nkds, nkde, njds, njde, & |
|---|
| 10 | nims, nime, nkms, nkme, njms, njme, & |
|---|
| 11 | nits, nite, nkts, nkte, njts, njte, & |
|---|
| 12 | nri, nrj ) ! nest ratios |
|---|
| 13 | IMPLICIT NONE |
|---|
| 14 | |
|---|
| 15 | |
|---|
| 16 | INTEGER, INTENT(IN) :: cids, cide, ckds, ckde, cjds, cjde, & |
|---|
| 17 | cims, cime, ckms, ckme, cjms, cjme, & |
|---|
| 18 | cits, cite, ckts, ckte, cjts, cjte, & |
|---|
| 19 | nids, nide, nkds, nkde, njds, njde, & |
|---|
| 20 | nims, nime, nkms, nkme, njms, njme, & |
|---|
| 21 | nits, nite, nkts, nkte, njts, njte, & |
|---|
| 22 | nri, nrj |
|---|
| 23 | |
|---|
| 24 | REAL, DIMENSION ( cims:cime, ckms:ckme, cjms:cjme ) :: cfld |
|---|
| 25 | REAL, DIMENSION ( nims:nime, nkms:nkme, njms:njme ) :: nfld |
|---|
| 26 | |
|---|
| 27 | ! Local |
|---|
| 28 | |
|---|
| 29 | INTEGER ci, cj, ck, ni, nj, nk, ip, jp |
|---|
| 30 | |
|---|
| 31 | ! Iterate over the ND tile and comtute the values |
|---|
| 32 | ! from the CD tile. |
|---|
| 33 | |
|---|
| 34 | DO nj = njts, njte |
|---|
| 35 | cj = cjts + nj / nrj ! coord of CD point |
|---|
| 36 | jp = cjts + mod ( nj , nrj ) ! coord of ND w/i CD point |
|---|
| 37 | DO nk = nkts, nkte |
|---|
| 38 | ck = nk |
|---|
| 39 | DO ni = nits, nite |
|---|
| 40 | ci = cits + ni / nri ! coord of CD point |
|---|
| 41 | ip = cits + mod ( ni , nri ) ! coord of ND w/i CD point |
|---|
| 42 | |
|---|
| 43 | ! This is a trivial implementation of the interp_fcn; just copies |
|---|
| 44 | ! the values from the CD into the ND |
|---|
| 45 | |
|---|
| 46 | nfld( ni, nk, nj ) = cfld( ci , ck , cj ) |
|---|
| 47 | |
|---|
| 48 | ENDDO |
|---|
| 49 | ENDDO |
|---|
| 50 | ENDDO |
|---|
| 51 | |
|---|
| 52 | RETURN |
|---|
| 53 | |
|---|
| 54 | END SUBROUTINE interp_fcn |
|---|
| 55 | |
|---|
| 56 | |
|---|