Reconstructed ocean currents, water temperature and salinity were interpolated into standard AOMIP (Arctic Ocean Model Intercomparison

Project) grid with 18 vertical standard levels (135,135,18). These

levels are 5.,10.,15.,20.,25.,30.,50.,75.,100.,150.,200.,250.,300.,

400.,500.,750.,1000.,1500.meters.

 

Below are Fortran codes to read water temperature or salinity, to read

currens and to calculate grid coordinates

 

A. READING TEMPERATURE OR SALINITY

 

      dimension a(12,18,135,135),z(18),z1(18)

 

      data z1 /5.,10.,15.,20.,25.,30.,50.,75.,100.,150.,

     *200.,250.,300.,400.,500.,750.,1000.,1500./

 

c     NOTE: a=888. means land or bottom

 

      open(unit=1,file='temperature-1972-1978)

c      open(unit=1,file='salinity-1972-1978')

      do j=1,12 ! 12 Months: J,F,M,A,M,J,J,A,S,O,N,D

      do m=1,18 ! 18 vertical levels (see above)

      read(1,*)j,z(m)

      do i=1,135

      read(1,7)(a(j,m,i,k),k=1,135)

      enddo

7     format(10f9.3)

 

B. READING CURRENTS (u and v components)

 

      dimension u(12,18,135,135),v(12,18,135,135),z(18),z1(18)

 

      data z1 /5.,10.,15.,20.,25.,30.,50.,75.,100.,150.,

     *200.,250.,300.,400.,500.,750.,1000.,1500./

 

c     NOTE: u=888. or v=888. means land or bottom

 

      open(unit=1,file='u-v-135-1972-1978-J-D-standard-18')

 

      do j=1,12 ! 12 Months: J,F,M,A,M,J,J,A,S,O,N,D

      do m=1,18 ! 18 vertical levels (see above)

      read(1,*)j,z(m)

      do i=1,135

      read(1,7)(u(j,m,i,k),k=1,135)

      enddo

      read(1,*)j,z(m)

      do i=1,135

      read(1,7)(v(j,m,i,k),k=1,135)

      enddo

7     format(10f9.3)

 

 

GRID COORDINATES can be calculated using this code

      dimension f(135,135),dd(135,135)

c     f - latitude; dd - longitude

      do 111 i=1,135

      do 111 k=1,135

      ax=k-70.

      ay=65.-i

      r=sqrt(ax*ax+ay*ay)

      if(ax.eq.0.and.ay.eq.0.)go to 221

      yy=57.3*atan2(ay,ax)+40.

      if(yy.lt.0.)yy=yy+360.

      if(yy.ge.360.)yy=yy-360.

      f(i,k)=90.-r/2.

      dd(i,k)=yy

  

      go to 111

 221  dd(i,k)=0.

      f(i,k)=90.

 111  continue

 

CONVERTING CURRENTS INTO GEOGRAPHIC COORDINATES SYSTEM

(U - East positive, west - negative and V - North positive, South - negative)

      u, v - u and v components of velocity vector in "standard" grid

      ueast, vnorth - components of velocity vector in spherical coordinates (geographic) system.

 

      dimension u(135,135),v(135,135), f(135,135),dd(135,135),

     *ueast(135,135),vnorth(135,135)

 

c     a) calculation of grid coordinates

c     f - latitude; dd - longitude

      do 111 i=1,135

      do 111 k=1,135

      ax=k-70.

      ay=65.-i

      r=sqrt(ax*ax+ay*ay)

      if(ax.eq.0.and.ay.eq.0.)go to 221

      yy=57.3*atan2(ay,ax)+40.

      if(yy.lt.0.)yy=yy+360.

      if(yy.ge.360.)yy=yy-360.

      f(i,k)=90.-r/2.

      dd(i,k)=yy

  

      go to 111

 221  dd(i,k)=0.

      f(i,k)=90.

 111  continue

 

      do i=1,135

      do k=1,135

        u1=u(i,k)

        v1=v(i,k)

      if(u1.eq.888..or.v1.eq.888.)goto 35

      if(u1.eq.0..and.v1).eq.0.)goto 36

 

      alfa=57.29578*atan2(u1,v1)

      uv=sqrt(u1*u1+v1*v1)

      alfa1=(alfa+(dd(i,k)-310.)/57.29578

      ueast(i,k)=uv*sin(alfa1)

      vnorth(i,k)=uv*cos(alfa1)

      goto 38

35    ueast(i,k)=888.

      vnorth(i,k)=888.

      goto 38

36    ueast(i,k)=0.

      veast(i,k)=0.

38    continue

      enddo

      enddo