New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
ocfzpt.F90 in branches/dev_003_CPL/NEMO/OPA_SRC – NEMO

source: branches/dev_003_CPL/NEMO/OPA_SRC/ocfzpt.F90 @ 991

Last change on this file since 991 was 991, checked in by smasson, 16 years ago

dev_003_CPL: preliminary draft (not working), see ticket #155

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.0 KB
Line 
1MODULE ocfzpt
2   !!======================================================================
3   !!                       ***  MODULE  ocfzpt  ***
4   !! Ocean active tracers:  freezing point computation and freezing area
5   !!======================================================================
6   
7   !!----------------------------------------------------------------------
8   !! * Modules used
9   USE oce             ! ocean dynamics and tracers
10   USE dom_oce         ! ocean space and time domain
11
12   IMPLICIT NONE
13   PRIVATE
14
15   !! * Routine accessibility
16   PUBLIC oc_fz_pt        ! called by opa.F90 and step.F90
17
18   !! * Shared module variables   
19   REAL(wp), PUBLIC, DIMENSION(jpi,jpj) ::   &  !:
20      fzptb, fzptn        !: before and now freezing point
21   !!----------------------------------------------------------------------
22   !! OPA 9.0 , LOCEAN-IPSL (2005)
23   !! $Header$
24   !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt
25   !!----------------------------------------------------------------------
26
27CONTAINS
28
29   SUBROUTINE oc_fz_pt
30      !!----------------------------------------------------------------------
31      !!                     ***  ROUTINE oc_fz_pt  ***
32      !!
33      !! ** Purpose : - Calculate ocean surface freezing temperature
34      !!              - Calculate related boolean for now ice distribution
35      !!
36      !! ** Method  :   Caution, freezing point only for jackett & McDougall eos
37      !!
38      !! ** Action  : - fzptn  : now freezing temperature at ocean surface
39      !!              - fzptb  : before freezing temperature at ocean surface
40      !!              - freezn : boolean indicating freezing conditions at the
41      !!                ocean surface at time step "now"
42      !!
43      !! History :
44      !!        !  94-08  (M.-A. Filiberti)  Original code
45      !!   8.5  !  02-08  (G. Madec)  F90: Free form
46      !!----------------------------------------------------------------------
47      !! * Local declarations
48      INTEGER ::  ji, jj      ! dummy loop indices
49      !!----------------------------------------------------------------------     
50
51!CDIR NOVERRCHK
52      DO jj = 1, jpj
53!CDIR NOVERRCHK
54         DO ji = 1, jpi
55            fzptb(ji,jj) = fzptn(ji,jj)        ! swap freezing point array
56
57            !                                  ! ocean local surface freezing temperature
58            !                                  ! sn >= 0 : this is verified in stpctl at each time step
59            fzptn (ji,jj) = ( -0.0575 + 1.710523e-3 * SQRT( sn(ji,jj,1) )   &
60                                      - 2.154996e-4 *       sn(ji,jj,1)   ) * sn(ji,jj,1)   !!   &
61            !!                        - 7.53e-4 * pressure
62
63            !                                  ! Define boolean related to freezing conditions
64            freezn(ji,jj) = tmask(ji,jj,1) * MAX( 0., SIGN( 1., fzptn(ji,jj) - tn(ji,jj,1) )  )
65         END DO
66      END DO
67
68   END SUBROUTINE oc_fz_pt
69
70   !!======================================================================
71END MODULE ocfzpt
Note: See TracBrowser for help on using the repository browser.