当前位置: 首页 > news >正文

How to run ERSEM

Build ERSEM

  1. Make a “build” folder, and go into the build folder.

  2. Create “build_archer2.edit.sh”

#!/usr/bin/env bash# Script for compiling FVCOM-FABM-ERSEM for ARCHER2
#
# The build is split into three phases:
#
# 1) Build the FABM-ERSEM library. Here, ERSEM is a marine
# biogeochemical model while FABM is a piece of software
# which allows the ocean model (FVCOM) and ERSEM to
# communicate. ERSEM's main job is to compute d/dt sink/source
# terms for biogeochemical tracers. FABM communicates these
# to FVCOM, which in turn factors them in during the
# forward integration of the model.
#
# 2) Build FVCOM ancillary libraries. These include the
# sub-packages julian, metis, fproj and proj which are
# distributed with the FVCOM source code to facilitate
# the build process.
#
# 3) Build FVCOM.
#
# ---------------------------------------------------------------------set -euo pipefailusage() {
cat <<USAGEBuild FVCOM-FABM-ERSEM.Usage: build.sh [-ch]Options:
c    Clean up after a previous build and exit
h    Display helpUSAGE
}clean_past_build() {printf "Cleaning build directory ... \n\n"# Remove FVCOM build and install directoriesif [ -d ${BUILD_DIR} ]; thenread -r -p "Remove directory ${BUILD_DIR} (y/n): " removeif [ ${remove} = "y" ]; thenecho "Removing ${BUILD_DIR} ..."rm -r ${BUILD_DIR}fifiif [ -d ${INSTALL_DIR} ]; thenread -r -p "Remove directory ${INSTALL_DIR} (y/n): " removeif [ ${remove} = "y" ]; thenecho "Removing ${INSTALL_DIR} ..."rm -r ${INSTALL_DIR}fifi# Clean up FVCOM libs dircd ${FVCOM_LIBS_DIR}printf "\nCleaning ${FVCOM_LIBS_DIR} ...\n"make clean TOPDIR=${FVCOM_TOP_DIR} BIODIR=${FABM_INSTALL_DIR}  PETSC_DIRN=${PETSC_DIRN}# Clean up FVCOM code dircd ${FVCOM_TOP_DIR}printf "\nCleaning ${FVCOM_TOP_DIR} ...\n"make clean TOPDIR=${FVCOM_TOP_DIR} BIODIR=${FABM_INSTALL_DIR}  PETSC_DIRN=${PETSC_DIRN}
}clean=false
while getopts "hc" options; docase $options in(c)clean=true;;(h)usageexit 0;;(?)usageexit 1;;esac
done# <<TO CHANGE - Load required modules (tested on ARCHER2)>>#module use /sw/com/modulefiles/
#module swap PrgEnv-cray/8.3.3 PrgEnv-intel/8.3.3
#module swap intel/2021.4.0 intel-classic/2021.4.0
#module load cray-hdf5-parallel
#module load cray-netcdf-hdf5parallel
#module list# Set up paths
# ------------# Root directory - assumes the package has been unzipped into an
# appropriate location on the HPC (e.g. somewhere in /work).
ROOT_DIR=$(pwd)# All other paths are set relative to ROOTDIR
CODE_DIR="${ROOT_DIR}/code"
BUILD_DIR="${ROOT_DIR}/build"
INSTALL_DIR="${ROOT_DIR}/install"# FABM/ERSEM paths
FABM_SRC_DIR="${CODE_DIR}/FABM/src"
#ERSEM_SRC_DIR="${CODE_DIR}/ERSEM-erie/src"
ERSEM_SRC_DIR="${CODE_DIR}/ersem_lake_erie-main/src"
FABM_BUILD_DIR="${BUILD_DIR}/fabm"
FABM_INSTALL_DIR="${INSTALL_DIR}/fabm"# FVCOM ancillary library paths
FVCOM_TOP_DIR="${CODE_DIR}/FVCOM_source"
FVCOM_LIBS_DIR="${FVCOM_TOP_DIR}/libs"
PETSC_DIRN="/pexue6/chenfuh/PETSc_intel2022a/petsc-2.3.3-p16_HYPRE"# Copy over main.inc for HPC dependent compiler flags
# ---------------------------------------------------# <<TO_CHANGE - copy in FVCOM make.inc for compiler flags etc (tested on ARCHER2)>>
#ln -sf ${FVCOM_TOP_DIR}/build_utils/make_PML_ARCHER2.edit.inc ${FVCOM_TOP_DIR}/make.inc
#ln -sf ${ROOT_DIR}/make_PML_ARCHER2.edit.inc ${FVCOM_TOP_DIR}/make.inc
ln -sf ${ROOT_DIR}/make_lakeErie.inc ${FVCOM_TOP_DIR}/make.incif [ ${clean} = true ]; thenclean_past_buildexit 0
fi# Step 1 - Build the FABM-ERSEM library
# -------------------------------------echo "STEP 1: Building the FABM-ERSEM library"if [ ! -d ${FABM_BUILD_DIR} ]; thenmkdir -p ${FABM_BUILD_DIR}
fi
if [ ! -d ${FABM_INSTALL_DIR} ]; thenmkdir -p ${FABM_INSTALL_DIR}
fi# Number of jobs to use when building with cmake
NJOBS=4cd $FABM_BUILD_DIR# <<TO_CHANGE - the specified fortran compiler (tested on ARCHER2)>>
#cmake ${FABM_SRC_DIR} -DCMAKE_INSTALL_PREFIX=${FABM_INSTALL_DIR} \
#      -DFABM_ERSEM_BASE=${ERSEM_SRC_DIR} -DFABM_HOST=fvcom \
#      -DCMAKE_Fortran_COMPILER=mpiifx
#/pexue2/pexue/local2/cmake/bin/cmake ${FABM_SRC_DIR} -DCMAKE_INSTALL_PREFIX=${FABM_INSTALL_DIR} \
#      -DFABM_ERSEM_BASE=${ERSEM_SRC_DIR} -DFABM_HOST=fvcom \
#      -DCMAKE_Fortran_COMPILER=mpiifort
cmake ${FABM_SRC_DIR} -DCMAKE_INSTALL_PREFIX=${FABM_INSTALL_DIR} \-DFABM_ERSEM_BASE=${ERSEM_SRC_DIR} -DFABM_HOST=fvcom \-DCMAKE_Fortran_COMPILER=mpiifort
make install -j ${NJOBS}cd ${ROOT_DIR}# Step 2 - Build FVCOM ancillary libraries
# ----------------------------------------echo "STEP 2: Building FVCOM ancillary libraries"cd ${FVCOM_LIBS_DIR}#make TOPDIR=${FVCOM_TOP_DIR} BIODIR=${FABM_INSTALL_DIR} PETSC_DIRN=${PETSC_DIRN}cd ${ROOT_DIR}# Step 3 - Build FVCOM
# ----------------------------------------echo "STEP 3: Build FVCOM"cd ${FVCOM_TOP_DIR}make -j 20 TOPDIR=${FVCOM_TOP_DIR} BIODIR=${FABM_INSTALL_DIR}  PETSC_DIRN=${PETSC_DIRN}cd ${ROOT_DIR}# Check if we have an executable and finish
FVCOM_EXE="${FVCOM_TOP_DIR}/fvcom"
if [ -x ${FVCOM_EXE} ]; thenFVCOM_RUN_DIR="${ROOT_DIR}/run"mkdir -p ${FVCOM_RUN_DIR}rsync -avP ${FVCOM_EXE} ${FVCOM_RUN_DIR}/bin/ && echo "Build was successful"
elseecho "Build failed"
fi
  1. Make “code” folder according to the “build_archer2.edit.sh” above.
# All other paths are set relative to ROOTDIR
CODE_DIR="${ROOT_DIR}/code"
[czhao4@compute-0-200 build]$ ls
build_archer2.edit.sh  code
  1. FVCOM ancillary library paths: Make “FVCOM_source” under “code” folder according to the “build_archer2.edit.sh” above.
# FVCOM ancillary library paths
FVCOM_TOP_DIR="${CODE_DIR}/FVCOM_source"

Now code folder shows like below:

[czhao4@compute-0-200 build]$ ls code/
ersem_lake_erie-main  FABM  FVCOM_source

The source code of “ersem_lake_erie-main FABM FVCOM_source” can be found on HPC /pexue7/czhao4/ERSEM/example/build/code

  1. In root_dir “build” folder, create “make_lakeErie.inc”. It is the namelist file for FVCOM, but modified for ERSEM. It can be found at /pexue7/czhao4/ERSEM/example/build/make_lakeErie.inc.
    Modify the following directory accordingly:
#========== TOPDIR ========================================================
# TOPDIR is the directory in which this make file and the fvcom source reside#           TOPDIR  = /users/modellers/rito/src/FVCOMv4.3-FABMv1/FVCOM_source
#           TOPDIR  = /pexue6/chenfuh/GLE_ERSEM_PML2/Erie_ERSEM_PML2/build_ch_new20250224/code/FVCOM_sourceTOPDIR  = /pexue7/czhao4/ERSEM/example/build/code/FVCOM_source
#                   PETSC_DIRN     = /mnt/projects/hpc/code/fvcom/PETSc_new/petsc-2.3.3-p16
#           PETSC_DIRN=/gpfs1/users/modellers/pica/Software/apps/petsc/intelmpi/2.3.3PETSC_DIRN=/pexue6/chenfuh/PETSc_intel2022a/petsc-2.3.3-p16_HYPRE

Then, it will be soft linked to build/code/FVCOM_source/make.inc by “build_archer2.edit.sh”.
6. Create "run_build.sh "

#!/bin/bash#module load oneapi/{tbb,oclfpga,compiler-rt,compiler,mkl,mpi}
#module load toolchain/intel/2022a
module load devel/CMake/3.23.1-GCCcore-11.3.0
module list#export maindir=/users/modellers/rito/Code/lakeerie#export NETCDF_DIR=/scyllapfs/hpe/fthomas/css/.local/netcdf-4.9.0/oneapi
#export HDF5_DIR=/scyllapfs/hpe/fthomas/css/.local/hdf5-1.14.0/oneapi/
export PETSC_DIR=/pexue6/chenfuh/PETSc_intel2022a/petsc-2.3.3-p16_HYPRE
export PETSC_ARCH=arch-linux2-c-debug
export NETCDF_DIR=/pexue6/local_px/netcdf4.6.1
export HDF5_DIR=/pexue6/local_px/hdf5-1.14.2
#export LD_LIBRARY_PATH=/pexue6/chenfuh/test_xy_gle_DA/NOAA_FVCOM/fvcom3.2.2_xinyu_xy_proj_DA_weight_control_all_layers/libs/install/lib:$LD_LIBRARY_PATH
#export LD_LIBRARY_PATH=/pexue6/chenfuh/PETSc_intel2022a/petsc-2.3.3-p16/lib/arch-linux2-c-debug:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/pexue6/chenfuh/PETSc_intel2022a/petsc-2.3.3-p16_HYPRE/lib/arch-linux2-c-debug:$LD_LIBRARY_PATH#cd $maindir
#cp -r $maindir/IMP_files_Intel/build_archer2.edit.sh PML_FVCOM_Benchmark/
#cp -r $maindir/make_PML_ARCHER2.edit.inc code/FVCOM_source/build_utils/
#cd PML_FVCOM_Benchmark./build_archer2.edit.sh -c
./build_archer2.edit.sh 2>&1 | tee build.log
  1. source run_build.sh
    And if build success, it shows:
.....
-- Installing: /pexue7/czhao4/ERSEM/example/build/install/fabm/include/fabm_coupling.mod
-- Installing: /pexue7/czhao4/ERSEM/example/build/install/fabm/include/fabm_config_types.mod
-- Installing: /pexue7/czhao4/ERSEM/example/build/install/fabm/include/fabm_builtin_reduction.mod
-- Installing: /pexue7/czhao4/ERSEM/example/build/install/fabm/include/fabm.h
-- Installing: /pexue7/czhao4/ERSEM/example/build/install/fabm/include/fabm_version.h
-- Installing: /pexue7/czhao4/ERSEM/example/build/install/fabm/include/fabm_driver.h
-- Installing: /pexue7/czhao4/ERSEM/example/build/install/fabm/cmake/fabmConfig.cmake
-- Installing: /pexue7/czhao4/ERSEM/example/build/install/fabm/cmake/fabmConfig-release.cmake
STEP 2: Building FVCOM ancillary libraries
STEP 3: Build FVCOM
make: Circular mod_prec.o <- mod_prec.o dependency dropped.
make: `fvcom' is up to date.
sending incremental file list
created directory /pexue7/czhao4/ERSEM/example/build/run/bin
fvcom33,496,320 100%  239.95MB/s    0:00:00 (xfr#1, to-chk=0/1)sent 33,504,606 bytes  received 100 bytes  67,009,412.00 bytes/sec
total size is 33,496,320  speedup is 1.00
Build was successful

And it will generate an excutable file “fvcom” at:

[czhao4@compute-0-200 build]$ ls
build  build_archer2.edit.sh  build.log  code  install  make_lakeErie.inc  run  run_build.sh
[czhao4@compute-0-200 build]$ ls run/bin/
fvcom

Run ERSEM

  1. Make a run folder and generally, its structure is same with FVCOM (because ERSEM is actually a bio module in FVCOM).
[czhao4@compute-0-200 test]$ ll
total 892K
lrwxrwxrwx 1 czhao4 pexue-users   45 Apr 15 07:54 erie_run.nml
lrwxrwxrwx 1 czhao4 pexue-users   51 Apr 15 08:18 fabm_output.yaml # Define the output var list. If this file does not exist, all var will be output.
lrwxrwxrwx 1 czhao4 pexue-users   27 Apr 15 08:15 fabm.yaml # Input for ERSEM
lrwxrwxrwx 1 czhao4 pexue-users   48 Apr 15 06:50 fvcom -> /pexue7/czhao4/ERSEM/example/build/run/bin/fvcom
-rwxr-xr-x 1 czhao4 pexue-users 1.5K Apr 15 08:10 fvcom.sh
drwxr-xr-x 2 czhao4 pexue-users 4.0K Apr 15 08:13 input
drwxr-xr-x 2 czhao4 pexue-users 4.0K Apr 15 08:13 output
-rw-r--r-- 1 czhao4 pexue-users  646 Apr 15 08:22 run.sh
[czhao4@compute-0-200 test]$ ll input/
total 19G
-rwxr-xr-x 1 czhao4 pexue-users 532K Feb 24 17:54 erie_brf.nc
-rwxr-xr-x 1 czhao4 pexue-users 257K Feb 24 17:57 erie_cor.dat
-rwxr-xr-x 1 czhao4 pexue-users 8.1G Feb 19 07:04 erie_forcing_interp_2018-2019.nc
-rw-r--r-- 1 czhao4 pexue-users 4.1G Apr  8 14:33 erie_forcing_interp_2019.nc
-rwxr-xr-x 1 czhao4 pexue-users  48M Feb 19 06:59 erie_restart_0013.nc
-rwxr-xr-x 1 czhao4 pexue-users  48M Feb 19 07:02 erie_restart_2018_cycle7.nc
-rwxr-xr-x 1 czhao4 pexue-users  91M Feb 19 07:02 erie_restart_2018.nc
lrwxrwxrwx 1 czhao4 pexue-users  106 Apr  8 14:01 erie_restart_20190101.nc -> /pexue6/chenfuh/GLE_ERSEM_PML2/Erie_ERSEM_PML2/test_run_ch_new20250224/output2018/erie_restart_20190101.nc
-rwxr-xr-x 1 czhao4 pexue-users  48M Feb 19 07:01 erie_restart_2019.nc
-rwxr-xr-x 1 czhao4 pexue-users 892K Feb 19 07:05 julian_obc_2018-2019.nc
-rwxr-xr-x 1 czhao4 pexue-users  52M Feb 19 07:05 River_data_2018-2019.nc
-rwxr-xr-x 1 czhao4 pexue-users 9.9K Feb 19 07:16 RIVERS_NAMELIST.nml
-rwxr-xr-x 1 czhao4 pexue-users  13K Feb 24 17:56 sediment.inp
-rwxr-xr-x 1 czhao4 pexue-users 263K Feb 19 07:05 tsobc_2018-2019.nc
-rwxr-xr-x 1 czhao4 pexue-users 6.0G Feb 19 07:07 ww3_mod.2018-2019.nc

run.sh shows like:

export NETCDF_DIR=/pexue6/local_px/netcdf4.6.1
export HDF5_DIR=/pexue6/local_px/hdf5-1.14.2
export LD_LIBRARY_PATH=/pexue6/chenfuh/PETSc_intel2022a/petsc-2.3.3-p16_HYPRE/lib/arch-linux2-c-debug:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/pexue6/local_px/netcdf4.6.1/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/pexue6/local_px/hdf5-1.14.2/lib:$LD_LIBRARY_PATH
module load toolchain/intel/2022a
mpirun -n 1 ./fvcom --casename=erie

Some notes about ERSEM var

  N1p: N1/p                                            # phosphate (mmol P/m^3)N3n: N3/n                                            # nitrate (mmol N/m^3)N4n: N4/n                                            # ammonium (mmol N/m^3)N5s: N5/s                                            # silicate (mmol Si/m^3)R1c: R1/c                                            # dissolved organic carbon (mg C/m^3)R1p: R1/p                                            # dissolved organic phosphorus (mmol P/m^3)R1n: R1/n                                            # dissolved organic nitrogen (mmol N/m^3)R2c: R2/c                                            # semi-labile dissolved organic carbon (mg C/m^3)O2o: O2/o                                            # oxygen (mmol O_2/m^3)O3c: O3/c                                            # carbon dioxide (mmol C/m^3)

相关文章:

How to run ERSEM

Build ERSEM Make a “build” folder, and go into the build folder. Create “build_archer2.edit.sh” #!/usr/bin/env bash# Script for compiling FVCOM-FABM-ERSEM for ARCHER2 # # The build is split into three phases: # # 1) Build the FABM-ERSEM library. Her…...

关于QT5项目只生成一个CmakeLists.txt文件

编译器自动检测明明可以检测,Kit也没有报红 但是最后生成项目只有一个文件 一&#xff1a;检查cmake版本&#xff0c;我4.1版本cmake一直报错 cmake3.10可以用 解决之后还是有问题 把环境变量加上去&#xff1a;...

C++ string类

1.标准库中的string类 在 C 里&#xff0c;string类属于标准库的一部分&#xff0c;它在<string>头文件中定义&#xff0c;用于处理和操作字符串。 1.1string类的常用接口说明 1.1.1. string类对象的常见构造 string() &#xff08;重点&#xff09; 构造空的string类…...

如何使用ChatGPT撰写短视频爆款文案

短视频已经成为了互联网内容消费的重要形式&#xff0c;吸引观众的眼球成为内容创作者的首要任务。在短视频平台的内容过载中&#xff0c;如何写出一篇能够迅速吸引观众点击、分享并获得高互动的爆款文案&#xff0c;是每个短视频创作者都在追求的目标。今天&#xff0c;我们将…...

基于Tesseract与Opencv的电子发票识别[1]

本文我们将尝试使用tesseract识别电子发票上的信息并不断提高识别准确率&#xff0c;是一个逐渐调整的过程&#xff0c;仅用于记录研究过程。 图像识别&#xff1a;使用tesseract识别。图像预处理&#xff1a;使用OpenCV等图像处理库对发票图像进行预处理&#xff0c;如灰度化…...

数据库—函数笔记

一&#xff0c;数据库函数的分类 内置函数&#xff08;Built-in Functions&#xff09; 数据库系统自带的函数&#xff0c;无需额外定义即可直接调用。 聚合函数&#xff1a;对数据集进行计算&#xff08;如 SUM, AVG, COUNT&#xff09;。 字符串函数&#xff1a;处理文本数据…...

产品研发流程说明记录

1. 前言 在小型公司&#xff0c;产品研发流程通常较为简单&#xff0c;需求提出后经过简单评审便直接开发上线。而在中大型互联网公司&#xff0c;研发流程更加规范和系统&#xff0c;涉及多部门协作和多环节把控。本文将详细介绍一个标准的产品需求研发流程&#xff0c;帮助相…...

智慧城市:如同为城市装上智能大脑,开启智慧生活

智慧城市的概念随着信息技术的飞速发展而逐渐兴起&#xff0c;它通过集成物联网、大数据、人工智能和数字孪生等先进技术&#xff0c;为城市管理和居民生活带来了前所未有的智能化变革。本文将深入探讨这些核心技术及其在智慧城市的典型应用场景&#xff0c;展示智慧城市如何提…...

游戏测试入门知识

高内聚指的是一个模块或组件内部的功能应该紧密相关。这意味着模块内的所有元素都应该致力于实现同一个目标或功能&#xff0c;并且该模块应当尽可能独立完成这一任务。 低耦合则是指不同模块之间的依赖程度较低&#xff0c;即一个模块的变化对其它模块造成的影响尽可能小。理…...

Sentinel源码—2.Context和处理链的初始化二

大纲 1.Sentinel底层的核心概念 2.Sentinel中Context的设计思想与源码实现 3.Java SPI机制的引入 4.Java SPI机制在Sentinel处理链中的应用 5.Sentinel默认处理链ProcessorSlot的构建 4.Java SPI机制在Sentinel处理链中的应用 (1)初始化Entry会初始化处理链 (2)初始化处…...

Java基础第20天-JDBC

JDBC为访问不同的数据库提供了统一的接口&#xff0c;为使用者屏蔽了细节问题&#xff0c;程序员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统&#xff0c;从而完成对数据库的各种操作 ResultSet 表示数据库结果集的数据表&#xff0c;通常通过执行查询数据库的语句生…...

VMware下Ubuntu空间扩容

目的&#xff1a; Ubuntu空间剩余不足&#xff0c;需要对Ubuntu进行扩容。 使用工具&#xff1a; 使用Ubuntu系统中的gparted工具进行系统扩容。 前提&#xff1a; 1、电脑有多余的未分配磁盘空间&#xff0c;比如我的Ubuntu磁盘G盘是200G&#xff0c;现在快满了&#xff0c…...

第十一章 网络编程

在TCP/IP协议中&#xff0c;“IP地址TCP或UDP端口号”唯一标识网络通讯中的一个进程。 因此可以用Socket来描述网络连接的一对一关系。 常用的Socket类型有两种&#xff1a;流式Socket&#xff08;SOCK_STREAM&#xff09;和数据报式Socket&#xff08;SOCK_DGRAM&#xff09…...

Bad Request 400

之前一直以为400就是前端代码有问题 这下遇到了&#xff0c;发现是因为前后端不一致 后端代码注意&#xff1a;现在我写的int 前端请求 原因 &#xff1a;前后端不一致 &#x1f4a1; 问题核心&#xff1a;后端 amount 类型是 int&#xff0c;但前端传了小数 237.31...

行业深度:金融数据治理中的 SQL2API 应用创新

金融行业作为数据密集型领域&#xff0c;面临着监管合规要求严苛、数据交互频次高、安全风险防控难度大等多重挑战。SQL2API 技术通过 “数据服务化 合规化” 的双重赋能&#xff0c;成为金融机构破解数据治理难题的核心工具&#xff0c;在多个关键场景实现突破性创新。 &…...

记录学习的第二十六天

还是每日一题。 今天这道题有点难度&#xff0c;我看着题解抄的。 之后做了两道双指针问题。 这道题本来是想用纯暴力做的&#xff0c;结果出错了。&#x1f613;...

MySQLQ_数据库约束

目录 什么是数据库约束约束类型NOT NULL 非空约束UNIQUE 唯一约束PRIMARY KEY主键约束FOREIGN KEY外键约束CHECK约束DEFAULT 默认值(缺省)约束 什么是数据库约束 数据库约束就是对数据库添加一些规则&#xff0c;使数据更准确&#xff0c;关联性更强 比如加了唯一值约束&#…...

数据库ocp证书是什么水平

专业知识与技能&#xff1a;OCP 证书是对持证人在 Oracle 数据库管理、安装、配置、性能调优、备份恢复等方面专业知识和技能的权威认证。它要求考生通过一系列严格的考试&#xff0c;包括理论知识和实际操作能力的考核&#xff0c;以证明其具备扎实的 Oracle 数据库专业知识和…...

1022 Digital Library

1022 Digital Library 分数 30 全屏浏览 切换布局 作者 CHEN, Yue 单位 浙江大学 A Digital Library contains millions of books, stored according to their titles, authors, key words of their abstracts, publishers, and published years. Each book is assigned an u…...

基于Python的PC控制Robot 小程序开发历程

1、Background&#xff1a;用万能语言Python进行Robot 的控制一直以来是我想做的事&#xff0c;刚好有机会付诸实践。Just Do It~ 2、Python 代码编写&#xff1a; import socket import time HOST "192.168.0.1" #IP PORT 2008 #Por…...

Coze平台技术解析:零代码AI开发与智能体应用实践

【资源软件】 伏脂撺掇蒌葶苘洞座 /835a36NvQn&#x1f615; 链接&#xff1a;https://pan.quark.cn/s/5180c62aacf7 「微信被删好友检测工具」筷莱坌教狴犴狾夺郝 链接&#xff1a;https://pan.quark.cn/s/fe4976448ca1 HitPaw Watermark Remover 链接&#xff1a;https://pan…...

在 K8s 上构建和部署容器化应用程序(Building and Deploying Containerized Applications on k8s)

在 Kubernetes 上构建和部署容器化应用程序 Kubernetes 是一个用于管理容器化工作负载和服务的开源平台。它提供了一个强大的框架来自动化部署、扩展和管理容器化应用程序。本博客将指导您完成在 Kubernetes 上构建和部署容器化应用程序的过程&#xff0c;重点介绍技术方面并使…...

【教程】如何使用Labelimg查看已经标注好的YOLO数据集标注情况

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...

**Windows 系统**的常用快捷键大全

以下是 Windows 系统的常用快捷键大全&#xff0c;涵盖日常操作、文件管理、窗口控制、系统功能等&#xff0c;助你大幅提升效率&#xff1a; 一、基础系统操作 Win&#xff1a;打开/关闭「开始菜单」Win E&#xff1a;打开「文件资源管理器」Win D&#xff1a;一键显示桌面…...

L1-025 正整数A+B

L1-025 正整数AB L1-025 正整数AB - 团体程序设计天梯赛-练习集 (pintia.cn) 题解 第一次做这道题时&#xff0c;没有注意到num1 和 num2 是在区间 [1, 1000] 内&#xff0c;num1和num2的长度应该是4位数并且num1和num2不能等于0&#xff0c;num1和num2不能大于1000。这两个…...

Go 语言的 map 在解决哈希冲突时,主要使用了链地址法同时参考了开放地址法的思想即每个桶的 8个 key val对是连续的

总结一下 Go map 的哈希冲突解决机制。 1. 哈希表结构&#xff1a; Go 语言的 map 底层有两个主要结构&#xff1a;hmap 和 bmap&#xff0c;它们分别负责管理整个 map 的元数据和存储键值对的桶。 hmap&#xff1a;包含 map 的元数据&#xff0c;如桶的数量、已插入的键值对…...

未支付订单如何释放库存

在电商或交易系统中,处理未支付订单的库存释放是典型的高并发场景问题。以下是结合 Java 技术栈的完整解决方案,涵盖 设计思路、技术实现、容错机制,并基于实际项目经验(如标易行平台的标书资源预约场景)进行分析: 一、核心设计原则 最终一致性:确保库存释放与订单状态的…...

HDFS Full Block Report超限导致性能下降的原因分析

文章目录 前言发现问题失败的为什么是FBR块汇报频率的变化为什么FBR会反复失败HDFS性能下降导致Yarn负载变高的形式化分析理解线程理解IO Wait理解HDFS性能下降导致Yarn负载和使用率增高 引用 前言 我们的Yarn Cluster主要用来运行一批由Airflow定时调度的Spark Job&#xff0…...

[Java实战经验]链式编程与Builder模式

目录 链式编程Builder模式 链式编程 链式编程&#xff08;Fluent AP&#xff09;是一种编程风格&#xff0c;它通过在同一个对象上连续调用多个方法来执行一系列操作&#xff08;让方法返回对象本身&#xff08;return this&#xff09;&#xff09;。这种风格的编程使代码更加…...

TypeScript 快速上手--禹神

TypeScript 快速上手 &#x1faa9; 禹神&#xff1a;三小时快速上手TypeScript&#xff0c;TS速通教程_哔哩哔哩_bilibili ⼀、TypeScript 简介 TypeScript 由微软开发,是基于 JavaScript 的⼀个扩展语⾔。 TypeScript 包含了 JavaScript 的所有内容,即: TypeScript 是 Jav…...

YOLOv2 快速入门与核心概念:更快、更准的目标检测利器

今天&#xff0c;我们就来聊聊 YOLO 系列的第二代—— YOLOv2&#xff0c;看看它是如何在速度的基础上&#xff0c;进一步提升检测精度的。 目标检测的重要性&#xff1a;让机器“看懂”世界 想象一下&#xff0c;自动驾驶汽车需要实时识别道路上的车辆、行人、交通标志&…...

Differentiable Micro-Mesh Construction 论文阅读

信息 2024 CVPR 论文地址 摘要 本文提出了一个可微分框架&#xff0c;用于将标准网格转换为Micro-mesh( μ \mu μ-mesh)这种非常高效的格式&#xff0c;与以前基于阶段的方法相比&#xff0c;提供了一个整体方案。 本文的框架为高质量的 μ \mu μ 网格生产提供了许多优势&…...

groovy运行poi包处理xlsx文件报NoClassDefFoundError

背景&#xff1a;简单的在java上运行poi包处理xlsx文件&#xff0c;正常解析。使用groovy执行相关xlsx文件解析的程序时&#xff0c;报错。报错日志&#xff1a; java.lang.NoClassDefFoundError: org/openxmlformats/schemas/spreadsheetml/x2006/main/CTExtensionList poi版…...

基于Espressif-IDE的esp32开发

日后填坑 新建工程 基本操作 创建一个工程 编译工程 下载程序 运行成功...

emotn ui桌面软件tv版下载安装教程-emotn ui桌面好用吗

在智能电视和电视盒子的使用场景中&#xff0c;一款出色的桌面软件能显著提升用户体验。Emotn UI桌面软件TV版就是这样一款备受关注的产品&#xff0c;与此同时&#xff0c;乐看家桌面也以其独特功能在市场中占据一席之地。接下来&#xff0c;我们将会详细介绍Emotn UI桌面软件…...

抖音ai无人直播间助手场控软件

获取API权限 若使用DeepSeek官方AI服务&#xff0c;登录其开发者平台申请API Key或Token。 若为第三方AI&#xff08;如ChatGPT&#xff09;&#xff0c;需通过接口文档获取访问权限。 配置场控软件 打开DeepSeek场控软件&#xff0c;进入设置界面找到“AI助手”或“自动化”…...

机器学习中的距离度量与优化方法:从曼哈顿距离到梯度下降

目录 前言一、曼哈顿距离(Manhattan Distance)&#xff1a;二、切比雪夫距离 (Chebyshev Distance)&#xff1a;三、 闵可夫斯基距离(Minkowski Distance)&#xff1a;小结四、余弦距离(Cosine Distance)五、杰卡德距离(Jaccard Distance)六、交叉验证方法6.1 HoldOut Cross-v…...

在GitHub action中使用添加项目中配置文件的值为环境变量

比如我项目的根目录有一个package.json文件&#xff0c;但是我想在工作流中使用某个值&#xff0c;例如使用version的值&#xff0c;就需要从package.json里面取出来&#xff0c;然后存储到环境变量中&#xff0c;供后续步骤使用这个值。 读值存储 读取项目根目录中的某个jso…...

MCP认证难题破解指南

一、MCP 认证体系与核心挑战 1.1 认证体系解析 MCP(Microsoft Certified Professional)作为微软认证体系的基础,覆盖操作系统、云服务、开发工具等核心领域。2025 年最新认证体系包含以下关键方向: Azure 云服务: 覆盖 Azure 虚拟机、容器化部署、云原生应用开发等核心技…...

STM32F407实现内部FLASH的读写功能

文章目录 前言一、FLASH 简介二、读数据三、写数据四、最终效果五、完整工程 前言 我们通过仿真器下到芯片的程序一般会保存到eflash里面&#xff0c;在我们的STM32F407里面这里的空间挺大的&#xff0c;我所使用的芯片型号是STM32F407ZGT6&#xff0c;FLASH 容量为 1024K 字节…...

沃尔玛墨西哥30分钟极速配送:即时零售战争中的「超导革命」

当全球电商还在争夺「次日达」话语权时&#xff0c;沃尔玛在墨西哥城投下「时空压缩弹」——30分钟极速配送服务上线首周&#xff0c;订单转化率较常规渠道提升270%&#xff0c;生鲜品类客单价突破87美元&#xff08;墨西哥财政部2024Q2数据&#xff09;。这场物流革命正在改写…...

html页面打开后中文乱码

在HTML页面中遇到中文乱码通常是因为字符编码设置不正确或者不一致。要解决这个问题&#xff0c;你可以按照以下步骤进行&#xff1a; 确认HTML文件的编码 确保你的HTML文件保存时使用的是UTF-8编码。大多数现代的文本编辑器和IDE&#xff08;如Visual Studio Code, Sublime Te…...

MySQL中的公用表表达式CTE实战案例应用

很多同学不会使用MySQL中的公用表表达式&#xff0c;今天这篇文章详细为大家介绍一下。 基础概念&#xff1a; 公用表表达式&#xff1a;MySQL中的公用表表达式&#xff08;Common Table Expressions&#xff0c;简称CTE&#xff09;是一种临时的结果集&#xff0c;它可以在一…...

开源TTS项目GPT-SoVITS,支持跨语言合成、支持多语言~

简介 GPT-SoVITS 是一个开源的文本转语音&#xff08;TTS&#xff09;项目&#xff0c;旨在通过少量语音数据实现高质量的语音合成。其核心理念是将基于变换器的模型&#xff08;如 GPT&#xff09;与语音合成技术&#xff08;如 SoVITS&#xff0c;可能指“唱歌语音合成”&am…...

从零开始:Python运行环境之VSCode与Anaconda安装配置全攻略 (1)

从零开始&#xff1a;Python 运行环境之 VSCode 与 Anaconda 安装配置全攻略 在当今数字化时代&#xff0c;Python 作为一种功能强大且易于学习的编程语言&#xff0c;被广泛应用于数据科学、人工智能、Web 开发等众多领域。为了顺利开启 Python 编程之旅&#xff0c;搭建一个稳…...

3月报|DolphinScheduler项目进展一览

各位热爱 Apache DolphinScheduler 的小伙伴们&#xff0c;社区3月报来啦&#xff01;来查看上个月项目的进展吧&#xff01; 月度Merge Star 感谢以下小伙伴上个月为 Apache DolphinScheduler 所做的精彩贡献&#xff08;排名不分先后&#xff09;&#xff1a; “ruanwenj…...

Flutter 应用在真机上调试的流程

在真机上调试 Flutter 应用的方法 调试 Flutter 应用有多种方式&#xff0c;可以使用 USB 数据线连接设备到电脑进行调试&#xff0c;也可以通过无线方式进行真机调试。对于 iOS 开发者&#xff0c;使用 appuploader 这样的工具可以更高效地管理开发流程。 1. 有线调试 设备…...

QML TableView:基础用法和自定义样式实现

目录 引言相关阅读工程结构示例一&#xff1a;基础TableView实现代码解析运行效果 示例二&#xff1a;自定义样式TableView代码解析运行效果 主界面运行效果 总结工程下载 引言 TableView作为Qt Quick中的一个核心控件&#xff0c;具有高性能、灵活性强的特点&#xff0c;能够…...

实战指南:封装Whisper为FastAPI接口并实现高并发处理-附整合包

实战指南&#xff1a;封装Whisper为FastAPI接口并实现高并发处理 下面给出一个详细的示例&#xff0c;说明如何使用 FastAPI 封装 OpenAI 的 Whisper 模型&#xff0c;提供一个对外的 REST API 接口&#xff0c;并支持一定的并发请求。 下面是主要步骤和示例代码。 1. 环境准备…...

算法——通俗讲解升幂定理

一、生活比喻&#xff1a;台阶与放大镜 想象你有一盏灯&#xff0c;光线穿过一层玻璃&#xff08;基础台阶&#xff09;&#xff0c;每层玻璃会过滤掉一定颜色的光&#xff08;质数 ( p )&#xff09;。升幂定理就像在灯前叠加放大镜&#xff08;指数 ( n )&#xff09;&#…...