Ignore:
Timestamp:
Jun 21, 2007 8:23:15 AM (14 years ago)
Author:
raasch
Message:

New:
---
ocean version including prognostic equation for salinity and equation of state for seawater. Routine buoyancy can be used with both temperature and density.
+ inipar-parameters bc_sa_t, bottom_salinityflux, ocean, sa_surface, sa_vertical_gradient, sa_vertical_gradient_level, top_salinityflux

advec_s_bc, average_3d_data, boundary_conds, buoyancy, check_parameters, data_output_2d, data_output_3d, diffusion_e, flow_statistics, header, init_grid, init_3d_model, modules, netcdf, parin, production_e, prognostic_equations, read_var_list, sum_up_3d_data, swap_timelevel, time_integration, user_interface, write_var_list, write_3d_binary

New:
eqn_state_seawater, init_ocean

Changed:


inipar-parameter use_pt_reference renamed use_reference

hydro_press renamed hyp, routine calc_mean_pt_profile renamed calc_mean_profile

format adjustments for the ocean version (run_control)

advec_particles, buoyancy, calc_liquid_water_content, check_parameters, diffusion_e, diffusivities, header, init_cloud_physics, modules, production_e, prognostic_equations, run_control

Errors:


Bugfix: height above topography instead of height above level k=0 is used for calculating the mixing length (diffusion_e and diffusivities).

Bugfix: error in boundary condition for TKE removed (advec_s_bc)

advec_s_bc, diffusion_e, prognostic_equations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/advec_s_bc.f90

    r77 r97  
    44! Actual revisions:
    55! -----------------
    6 !
     6! Advection of salinity included
     7! Bugfix: Error in boundary condition for TKE removed
    78!
    89! Former revisions:
     
    755756       ENDIF
    756757
     758    ELSEIF ( sk_char == 'sa' )  THEN
     759
     760!
     761!--    Salinity boundary condition at the bottom boundary.
     762!--    So far, always Neumann (i.e. here zero gradient) is used
     763       DO  i = nxl, nxr
     764          DO  j = nys, nyn
     765             sk_p(nzb-1,j,i) = sk_p(nzb,j,i)
     766             sk_p(nzb-2,j,i) = sk_p(nzb,j,i)
     767          ENDDO
     768       ENDDO
     769
     770!
     771!--    Salinity boundary condition at the top boundary.
     772!--    Dirichlet or Neumann (zero gradient)
     773       DO  i = nxl, nxr
     774          DO  j = nys, nyn
     775             sk_p(nzt+2,j,i)   = sk_p(nzt+1,j,i)
     776             sk_p(nzt+3,j,i)   = sk_p(nzt+1,j,i)
     777          ENDDO
     778       ENDDO
     779
    757780    ELSEIF ( sk_char == 'q' )  THEN
    758781
    759782!
    760 !--    Specific humidity boundary condition at the bottom boundary
    761        IF ( ibc_q_b == 0 )  THEN
    762 !
    763 !--       Dirichlet (fixed surface humidity)
    764           DO  i = nxl, nxr
    765              DO  j = nys, nyn
    766                 sk_p(nzb-1,j,i) = sk_p(nzb,j,i)
    767                 sk_p(nzb-2,j,i) = sk_p(nzb,j,i)
    768              ENDDO
    769           ENDDO
    770 
    771        ELSE
    772 !
    773 !--       Neumann (i.e. here zero gradient)
    774           DO  i = nxl, nxr
    775              DO  j = nys, nyn
    776                 sk_p(nzb-1,j,i) = sk_p(nzb,j,i)
    777                 sk_p(nzb-2,j,i) = sk_p(nzb,j,i)
    778              ENDDO
    779           ENDDO
    780 
    781        ENDIF
     783!--    Specific humidity boundary condition at the bottom boundary.
     784!--    Dirichlet (fixed surface humidity) or Neumann (i.e. zero gradient)
     785       DO  i = nxl, nxr
     786          DO  j = nys, nyn
     787             sk_p(nzb-1,j,i) = sk_p(nzb,j,i)
     788             sk_p(nzb-2,j,i) = sk_p(nzb,j,i)
     789          ENDDO
     790       ENDDO
    782791
    783792!
     
    809818!
    810819!--    TKE boundary condition at bottom and top boundary (generally Neumann)
    811        sk_p(nzb-1,j,i) = sk_p(nzb,j,i)
    812        sk_p(nzb-2,j,i) = sk_p(nzb,j,i)
    813        sk_p(nzt+2,j,i) = sk_p(nzt+1,j,i)
    814        sk_p(nzt+3,j,i) = sk_p(nzt+1,j,i)
     820       DO  i = nxl, nxr
     821          DO  j = nys, nyn
     822             sk_p(nzb-1,j,i) = sk_p(nzb,j,i)
     823             sk_p(nzb-2,j,i) = sk_p(nzb,j,i)
     824             sk_p(nzt+2,j,i) = sk_p(nzt+1,j,i)
     825             sk_p(nzt+3,j,i) = sk_p(nzt+1,j,i)
     826          ENDDO
     827       ENDDO
    815828
    816829    ELSE
Note: See TracChangeset for help on using the changeset viewer.