async def METHOD_NAME(subc_root: str, corpus_name: str) -> SubcorpusIdent:
    """
    create_new_subc_ident generates a new instance of SubcorpusIdent and also
    ensures that a target data directory exists.
    """
    ans = SubcorpusIdent(
        id=int2chash(int(hashlib.sha1(uuid.uuid1().hex.encode()).hexdigest(), 16), 8),
        corpus_name=corpus_name)
    full_dir_path = os.path.join(subc_root, ans.data_dir)
    if not await aiofiles.os.path.isdir(full_dir_path):
        await aiofiles.os.makedirs(full_dir_path)
    return ans